Подскажите плз короткую и быструю процедуру опроса клавиш предварительно выбранных игроком. Выходные и входные параметры могут быть любыми.
Процы ПЗУ просьба не использовать.
Вот мой вариант, и длинный и медленный:
Код:
chkKBD: ;проца
LD D,0
LD HL,KEYStbl
LD C,$FE
; LEFT
CALL .chk
JR Z,$+4
SET 4,D
; RIGHT
CALL .chk
JR Z,$+4
SET 3,D
; DOWN
CALL .chk
JR Z,$+4
SET 2,D
; UP
CALL .chk
JR Z,$+4
SET 1,D
; FIRE
CALL .chk
JR Z,$+4
SET 0,D
;на выходе в D установлены нужные биты
RET
.chk: LD B,(HL)
INC HL
IN A,(C)
AND (HL)
CP (HL)
INC HL
RET
KEYStbl:
DB $EF,16 ;LEFT
DB $EF,8 ;RIGHT
DB $EF,4 ;DOWN
DB $EF,2 ;UP
DB $EF,1 ;FIRE ;))
Спасибо