BAHASA RAKITAN BAGIAN 3
KEYBOARD I/O Service INT 16H Interupt 10H disebut juga sebagai BIOS Video Service (pelayanan penggunaan papan ketik). Nomor fungsi INT 16H yang sering digunakan Nomor Fungsi Kegunaan 00H Menunggu masukkan keyboard 01H Mengecek isi keyboard buffer 10H Menunggu masukan keyboard 11H
Tabel Kode ASCII
Contoh Program
1. Mencetak angka ;===================================================; ; PROGRAM : TIGA1.ASM ; ; FUNGSI : MENCETAK ANGKA DESIMAL ; .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI ANGKA DW 65535 MULAI: MOV AX,ANGKA MOV BX,10 XOR CX,CX ULANG: XOR DX,DX DIV BX PUSH DX INC CX CMP AX,0 JNE ULANG CETAK: POP DX ADD DL,'0' MOV AH,2H INT 21H LOOP CETAK INT 20H END DATA
2. Menginput satu karakter dari keyboard ;============================================================; ; PROGRAM : TIGA2.ASM ; ; FUNGSI : INPUT SATU KARAKTER DARI KEYBOARD ; .MODEL SMALL .CODE ORG 100h Data : JMP Proses T_ASCII DB 13,10,'Ini adalah tombol ASCII : $' T_Extended DB 13,10,'Ini adalah tombol Extended $' Proses : MOV AH,0 ; Servis Input satu karakter INT 16h ; Laksanakan PUSH AX ; Simpan hasil pembacaan pada stack CMP AL,00 ; Apakah ini karakter extended ? JE Extended ; Ya !, Lompat ke Extended ASCII: LEA DX,T_ASCII ; Ambil alamat efektif T_ASCII MOV AH,09 ; Servis cetak kalimat INT 21h ; Cetak kalimat ! POP AX ; Ambil kembali nilai AX pada stack MOV DL,AL ; Ambil kode ASCII yang ditekan MOV AH,2 ; Servis cetak karakter INT 21h ; Cetak karakter ! CMP AL,'Q' ; Apakah yang ditekan huruf 'Q' ? JE exit ; Ya !, lompat ke Exit CMP AL,'q' ; Apakah yang ditekan huruf 'q' ? JMP Proses ; Lompat ke Proses ;bersambung di halaman selanjutnya
;lanjutan dari sebelumnya Extended: LEA DX,T_Extended ; Ambil alamat efektif T_Extended MOV AH,09 ; Servis cetak kalimat INT 21h ; Cetak kalimat ! JMP Proses ; Lompat ke Proses Exit: INT 20h ; Kembali ke DOS ! END Data