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Ạ

Code:

.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