BÀI TẬP
Viết chương trình kiểm tra phím Shift trái, Shift phải có đang nhấn hay không? Chương trình kết thúc khi nhấn phím ESC.
CHƯƠNG TRÌNH MINH HOẠ
Mã:
.Model Small
.Stack
.Data
            s db 13,10,"Shift trai dang an$"
            s1 db 13,10,"Shift phai dang nhan$"
.Code
Inchuoi Macro t
            Lea dx,t
            Mov ah,9
            Int 21h
        EndM
Begin:
        Mov ax,@data
        Mov ds,ax
        Lap:
           Mov ah,02
           Int 16h
           Test al,00000011b	;Kiem tra shift trai va phai
           jnz Kiemtra

           Mov ah,01
           Int 16h 
           jz Lap

           Mov ah,0
           Int 16h
           Cmp al,1bh
           JE Exit
           jmp Lap
        Kiemtra: 
           Test al,00000001b
           jnz XuatR
           Test al,00000010b
           jnz XuatL 
           jmp Lap
        XuatR: 
           Inchuoi s1
            Call Delay		;Hoan thoi gian nhay phim khi nhan
            Call Delay
           jmp Lap
        XuatL:
           Inchuoi s
            Call Delay
            Call Delay
           jmp Lap
        Exit:
           Mov ah,4ch
           Int 21h

  Delay Proc
            Push cx
            Mov cx,0ffffh
            for1:
            Push cx
                        Mov cx,05ffh
                  for2:
                        loop for2        
            Pop cx
            Loop for1
            Pop cx
            Ret
  Delay EndP
End Begin