RSS

Pendeteksi status tombol extended keyboard dengan assembly

Ini adalah program menggunakan JWASM yang berfungsi mendeteksi tombol extended keyboard (alt, ctrl, capslock,numlock, insert, shif).


;=PROGRAM PENDETEKSI TOMBOL KEYBOARD EXTENDED=;
.model small
.stack 100h
.data
msg7    db 'tombol insert aktif $'
msg6    db 'tombol Caps lock aktif $'
msg5    db 'tombol Num lock aktif $'
msg4    db 'tombol Scroll lock aktif $'
msg3    db 'tombol Alt ditekan $'
msg2    db 'tombol Ctrl ditekan $'
msg1    db 'tombol shift kiri ditekan $'
msg0    db 'tombol shift kanan ditekan $'


.code
Start:
    mov ah, 02h            ;keyboard passes bit
    int 16h
    mov cx, 0              ;inisialisasi CX ke 0
ShrLoop:    
    shr al, 1              ;Shift al satu bit ke kanan       
    jc numberCheck         ;jump ke cl number ketika carry = 1
    inc cl                 ;increment cl counter
    jnc shrloop            ;restart loop ketika carry = 0
    cmp cl, 8              ; compare cl dengan 8 jika bernilai true
    je finish              ; selesai
numberCheck:    
        cmp cl, 0
        je no0
        cmp cl, 1
        je no1
        cmp cl, 2
        je no2
        cmp cl, 3
        je no3
        cmp cl, 4
        je no4
        cmp cl, 5
        je no5
        cmp cl, 6
        je no6
        cmp cl, 7
        je no7
        mov bx,0           ;Set bx jadi 0 supaya
        shr bx,1           ;carry dapat direset
        ret
no7:mov dx, offset msg7
    call puts              ; Memanggil procedure untuk menampilkan string/pesan yang diset diawal program
    ret
no6:mov dx, offset msg6
    call puts
    ret   
no5:mov dx, offset msg5
    call puts
    ret
no4:mov dx, offset msg4
    call puts
    ret
no3:mov dx, offset msg3
    call puts
    ret
no2:mov dx, offset msg2
    call puts
    ret
no1:mov dx, offset msg1
    call puts
    ret
no0:mov dx, offset msg0
    call puts
    ret
finish:mov ah, 4Ch          ;End Program
       int 21h
puts:                   ;menampilkan string
       mov ah, 9h
       int 21h
       ret
End start

0 komentar:

Posting Komentar

© 2009 - Knowledge of YASHA | Design: Choen | Pagenav: Abu Farhan Top