сканер клавы. — ZXNet «code.zx»

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

ZXNet echo conference «code.zx»



from: Oleg Grigoriev
to: All
date: 1 March 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.