BÀI TẬP
CHƯƠNG TRÌNH MẪU
Viết chương trình kiểm tra trạng thái Caps Lock cho biết Caps Lock đóng hay mở.
- Nếu Caps Lock đóng xuất chuỗi "Caps Lock off."
- Nếu Caps Lock mở xuất chuỗi "Caps Lock on."
Chương trình kết thúc khi ta nhấn phím ESC. Trong quá trình xuất chuỗi nếu như phím Caps Lock thay đổi trạng thái từ đóng sang mở hoặc từ mở sang đóng ta mới xuất chuỗi ứng với trạng thái mới.
CHƯƠNG TRÌNH MẪU
Code:
.Model small
.Stack
.Data
s1 db 10,13,"Caps Lock On$"
s2 db 10,13,"Caps Lock Off$"
.Code
Print Macro t
lea dx,t
mov ah,9
int 21h
EndM
Begin:
mov ax,@data
mov ds,ax
mov ah,2
int 16h
and al,01000000b
cmp al,01000000b
je Cap_On
jmp Cap_Off
Lap:
mov ah,2 ;doc trang thai cua phim dac biet
int 16h
and al,01000000b
pop cx
cmp cl,al ;so sanh voi trang thai da luu
je Save
cmp al,01000000b ;kiem tra caps lock dong hay mo
je Cap_On
jmp Cap_Off
Save:
push ax ;luu trang thai moi
mov ah,1
int 16h
jz Lap
mov ah,0 ;lay ma 2 byte tu phim vua nhan
int 16h
cmp al,1bh ;so sanh voi ESC
je Exit
jmp Lap
Cap_On:
push ax ;luu lai trang thai Capslock
Print s1
jmp Lap
Cap_Off:
push ax ;luu lai trang thai Capslock
Print s2
jmp Lap
Exit:
mov ah,4ch
int 21h
End Begin