KYBOARD
;KYBRD : Đây là một chương trình con có tác vụ lấy mã phím
ấn.
;In put : Chờ phím ấn.
;OUTPUT : Chương trình sẽ dừng lại cho đến khi nào có một phím
được gõ,khi đó (A) =Mã phím ấn.
Nếu không gõ phím (A) = FFh.
;Đây là một hàm (Funtion) .Giá trò hàm đặt trong A.
;Ngoài A không thanh ghi nào bò điều chỉnh
;có gọi KYCHECK.
Push BC
Call KYCHECK
A B
LDA Addr
SERWKY
(A) AND (A) A
(B) A
POP BC
KYBRD
Z = 1
RET
Đ
S
KYCHECK
KYCHECK Đây là chương trình con nó có tác dụng kiểm tra phím
Input Lấy mã phím có đang ký Addr
sfrwky
Out put Không gõ phím (Addr
sfrwky
) = OOH
A = FFH
Gõ phím (Addr
sfrwky
) = FFH
A = Mã phím
Chương trình không dừng lại
:Đây là một hàm ( function )
:Giá trò hàm đặt trong thanh ghi A và o nhớ đăng ký phục vụ
:Ngoài A không thanh ghi nào bò điều chỉnh
:Có gọi “KYCODE”
:Được gọi từ “KYBRD” và những nơi cần thiết như trong”Erro.blk”
:Có đăng ký một ô nhớ RAM Addr
sfrwky
KYCHECK
Push BC
Call KYCODE
(A) → B
(A) + 1→ A
Z = 1
Addr
SERWKY
(A)AND(A) → A
– 1 → A
STA Addr
serwky
→ A
POP BC
Z = 0
RET
(FFh) → B
S
Đ
KYCODE
:KYCODE: Đây là một chương trình con . Nó có tác vụ lấy mã cũa
phím ấn từ FIFO của 8279 đặt vào thanh ghi A
:Input Gõ một phím bất kỳ trên bàn phím
:Out put Nếu không gõ phím:(A) = FFH
Nếu có phím được gõ:(A) = Mã phím
:Đây là một hàm (function). Giá trò hàm đặt trong thanh ghi A
:Các thanh ghi bò điều chỉnh:A,B
:Có gọi “Delay 0,1ms
:Được gọi từ “KYCHECK”
KYCODE
IN Port
status
A← (A)AND(0Fh)
Z= 1
IN Port
STATUS
(A) → B
(C2h) → A
OUT Port
CNT
(01h) → A
Delay 0.1s
(B)→ A
RET
(FFh) → A
Đ
S