INKEY rutinka pre obsluhu klavesnice

Zdrojový kód


3      5b00            *s
4      5b00                   org  #8000
5      8000            p
6      8000 fd212700   inkey  ld   iy,#27
7      8004 cd8e02            call #028e
8      8007 200c              jr   nz,iaa
9      8009 cd1e03            call #031e
10     800c 3007              jr   nc,iaa
11     800e 15                dec  d
12     800f 5f                ld   e,a
13     8010 cd3303            call #0333
14     8013 b7                or   a
15     8014 06                db   #06
16     8015 af         iaa    xor  a
17     8016 c9                ret
18     8017             
19     8017 cd0080     keys   call inkey
20     801a 28fb              jr   z,keys
21     801c 212880            ld   hl,tabkey
22     801f 011000            ld   bc,endtab-tabkey
23     8022 edb1              cpir
24     8024 2001              jr   nz,ibb
25     8026 7e                ld   a,(hl)
26     8027 c9         ibb    ret
27     8028 e27eac7f   tabkey db   #e2,'~',#ac,''
28     802c c37ccd5c          db   #c3,'|',#cd,'\'
29     8030 c65bc55d          db   #c6,'[',#c5,']'
30     8034 cc7bcb7d          db   #cc,'{',#cb,'}'
31     8038             
32     8038            endtab

 endtab 8038  *  iaa    8015  *  ibb    8027  *  inkey  8000  *
 keys   8017  *  p      8000  *  tabkey 8028  *                

Bytes:56  labels:7  errors:0   


Popis
Toto je rutinka pre citanie klavesnice, podobne ako funkcia INKEY$ v basicu. Bola napisana s cielom poskytnut moznost pisat vsetky ASCII kody v rozsahu 32 az 127 (a niektore riadiace znaky) pri co najmensej dlzke rutinky. Mozete ju najst napriklad v kopiraku BS COPY 128#.

Poznámky
Vstupny body:
INKEY ... vracia kody ako klasicky basicovy INKEY$
KEYS ... vracia vsetky ASCII kody 32 az 127

Poslal
Busy