Цитата Сообщение от aprisobal
Спасибо всем.
Окончательный вариант такой(225 тактов при ненажатых клавишах):
Код:
chkKBD:
	LD D,0
	;left
.leftP:	LD A,$EF
	IN A,($FE)
.leftB:	AND 16
	JR NZ,$+4 
	SET 4,D
	;right
.rightP:LD A,$EF
	IN A,($FE)
.rightB:AND 8
	JR NZ,$+4 
	SET 3,D
	;down
.downP:	LD A,$EF
	IN A,($FE)
.downB:	AND 4
	JR NZ,$+4 
	SET 2,D
	;up
.upP:	LD A,$EF
	IN A,($FE)
.upB:	AND 2
	JR NZ,$+4 
	SET 1,D
	;fire
.fireP:	LD A,$EF
	IN A,($FE)
.fireB:	AND 1
	JR NZ,$+4 
	SET 0,D
	RET
И что это за монстр?
Ты хоть сам попробовал разобраться что она делает? Написал бы сразу, что нужна процедура опроса полуряда "67890", тогда бы тебе сразу дали такую процедуру (полный аналог вышепреведенной твоей, но выполняется не 192 такта, а 29):
Код:
LD A,#EF
IN A,(#FE)
CPL
AND #1F