BÀI TẬP
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
Mã:
.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