Anda di halaman 1dari 1

; nama program : int05.

asm ; contoh program mencetak string dengan ; interupsi 10h fungsi 9 #MAKE_COM# ORG 100h JMP START ; Data: msg DB 'ZYXWVUTSRQPONMLKJIHGFEDCBA',0 hal_layar DB 0 ; simpan alamat label msg ke register DX: START: LEA DX, msg CLD MOV SI, DX lagi: LODSB OR AL, AL JZ selesai MOV DL, AL CALL cetak_kar JMP lagi selesai: RET cetak_kar PROC PUSHA MOV AH, 9 MOV BH, hal_layar MOV CX, 1 MOV AL, DL MOV BL, 04h INT 10h CALL ke_kanan POPA RET cetak_kar ENDP ; ; ; ; ; ; ; set arah pemindahan byte (naik) alamat string-nya simpan di SI untuk instruksi LODSB dari lokasi SI ke register AL apakah isi register AL = 0? (ingat 0 or 0 = 0) YA, lompat ke selesai TIDAK, mulai proses cetak karakter ; membuat berkas COM

; ; ; ; ; ;

simpan semua register fungsi 9 cetak karakter halaman layar ada satu karakter yang dicetak salin karakter yg akan dicetak ke AL warna merah

; geser kursor ke kanan ; ambil kembali isi register semula

ke_kanan PROC PUSHA MOV AH, 3 ; baca posisi kursor (fungsi 3) MOV BH, hal_layar INT 10h ; hasilnya DH=baris, DL=kolom INC DL MOV AH, 2 ; letakkan posisi kursor (fungsi 2) INT 10h POPA RET ke_kanan ENDP END

Anda mungkin juga menyukai