сканер клавы.

ZXNet эхоконференция «code.zx»

От Oleg Grigoriev Кому All 01.03.1999

Hi, All! Примитивная сканилка клавиатуры... Кидается по причине того, что внутри имеется несколько идей которыми некоторым неплохо бы проникнуться. За вид извеняйте - так уж вышло. :) RPDL - константа автоповтора, IY указывает на переменные. SKEY PUSH BC,DE,HL SKEY0 EI:HALT LD BC,#7FFE,HL,SKEYT,DE,#0005 SKEY1 IN A,(C) CPL:AND #1F:JR NZ,SKEY3 ADD HL,DE:RRC B:JR C,SKEY1 SKEY2 RES 3,(IY+#02) RES 4,(IY+#02) POP HL,DE,BC XOR A RET SKEY3 BIT 3,(IY+#02):JR Z,SKEY5 BIT 4,(IY+#02):JR NZ,SKEY6 LD B,RPDL SKEY4 EI:HALT XOR A:IN A,(#FE):CPL:AND #1F JR Z,SKEY2 DJNZ SKEY4 SET 4,(IY+#02) JR SKEY0 SKEY5 SET 3,(IY+#02) SKEY6 BIT 4,A:JR NZ,SKEY7 INC HL BIT 3,A:JR NZ,SKEY7 INC HL BIT 2,A:JR NZ,SKEY7 INC HL BIT 1,A:JR NZ,SKEY7 INC HL SKEY7 LD A,(HL) POP HL,DE,BC RET SKEYT DB "BNM",#00,#20,"HJKL",#0D DB "YUIOP","67890" DB "54321","TREWQ" WBR, Oleg.