;KYBRD : Ñaây laø moät chöông trình con coù taùc vuï laáy maõ phím aán. ;In put : Chôø phím aán. ;OUTPUT : Chöông trình seõ döøng laïi cho ñeán khi naøo coù moät phím ñöôïc goõ,khi ñoù (A) =Maõ phím aán. Neáu khoâng goõ phím (A) = FFh. ;Ñaây laø moät haøm (Funtion) .Giaù trò haøm ñaët trong A. ;Ngoaøi A khoâng thanh ghi naøo bò ñieàu chænh ;coù goïi KYCHECK.
Trang 1;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 AddrSERWKY
(A) AND (A) A
POP BC
KYBRD
Z = 1
RET
Đ
S
Trang 2KYCHECK 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ý Addrsfrwky
Out put Không gõ phím (Addrsfrwky) = OOH
A = FFH Gõ phím (Addrsfrwky) = 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 Addrsfrwky
KYCHECK
Push BC Call KYCODE (A) B (A) + 1 A
Z = 1
AddrSERWKY (A)AND(A) A
– 1 A STA Addrserwky
A POP BC
Z = 0
(FFh) B
S
Đ
Trang 3KYCODE :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 Portstatus A (A)AND(0Fh)
Z= 1
IN Port STATUS (A) B
(C2h) A OUT PortCNT
(01h) A Delay 0.1s
(B) A
RET
(FFh) A
Đ
S