EasyManua.ls Logo

IBM XT 5160 - Page 195

IBM XT 5160
420 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
IBM
Personal
Computer
MACRO
Assembler
Version
2.00
KEYBRD
- - - 01
/10/86
KEYBOARD ADAPTER
BIOS
1-3
01-10-86
;------
READ THE
KEY
TO SEE
IF
ONE
IS
PRESENT
------------------------
;
------
ROUT I NE TO
TRANSLATE
SCAN CODE
PA
I
RS
FOR STANDARD
CALLS
;------
ROUTINE
TO
TRANSLATE
SCAN CODE
PAIRS
FOR
EXTENDED
CALLS
PAGE
;
------
READ THE
KEY
TO
FIGURE
OUT
WHAT
TO
DO
------------------------
IS
IT
ONE OF
THE
FILL-INs?
NO,
PASS
I T
ON
AH
= 0 I S SPEC I
AL
CASE
PASS
TH I S
ON
UNCHANGED
OTHERW I SE
SET
AL
= 0
GO
BACK
GET PO I
NTER
TO HEAD OF
BUFFER
TEST
END OF
BUFFER
I F ANYTH I
NG
I N
BUFFER
DONT
DO
INTERRUPT
CLEAR
CARRY TO I ND I
CATE
GOOD
CODE
RETURN
SET CARRY TO I ND I
CATE
DISCARD
CODE
RETURN
I
NTERRUPTS
OFF
GET HEAD PO
INTER
I F
EQUAL
(Z=
I)
THEN
NOTH I
NG
THERE
I
NTERRUPTS
BACK
ON
RETURN
MOVE
IN
WA
I T CODE &
TYPE
PERFORM OTHER
FUNCT
I
ON
ASCII
READ
I
NTERRUPTS
BACK
ON
OUR
I
NG
LOOP
ALLOW
AN
I
NTERRUPT
TO OCCUR
I
NTERRUPTS
BACK
OFF
GET PO I
NTER
TO HEAD OF
BUFFER
TEST
END OF
BUFFER
LOOP UNT I L SOMETH I
NG
I N
BUFFER
GET SCAN CODE AND ASC I I CODE
MOVE PO I
NTER
TO
NEXT
POS I T I
ON
STORE
VALUE
IN
VAR I
ABLE
RETURN
; I
SIT
KEYPAD
ENTER
OR
/
;
NO,
CONTINUE
;
KEYPAD
ENTER
CODE?
YES,
MASSAGE A
BI
T
CTRL
KEYPAD
ENTER
CODE?
YES,
MASSAGE
THE
SAME
NO,
MUST
BE
KEYPAD
/
GIVE
TO
CALLER
CONVERT TO COMPAT
IBLE
OUTPUT
GIVE
TO
CALLER
IS.
I T ONE OF
THE
EXTENDED
ONES?
YES,
THROW
AWAY
AND GET ANOTHER CHAR
I
SIT
ONE OF
THE
FILL
-
INs?
NO,
TRY
LAST
TEST
AH
= 0 I S SPEC I
AL
CASE
PASS
TH I S
ON
UNCHANGED
THROW
AWAY
THE
REST
I
SIT
AN
EXTENS
I
ON
OF A PREV I
OUS
ONE?
NO,
MUST
BE
A STANDARD CODE
AH
= 0 I S SPEC I
AL
CASE
JUMP
IF
AH
= 0
CONVERT TO COMPAT
IBLE
OUTPUT
PASS
I T
ON
TO
CALLER
AX,09002H
15H
AL,OFOn
K
10
E
RET
AH,AH-
KIO
E
RET
AL,AL
-
NEAR
BX
,OBUFFER
HEAD
BX,
OBUFFER-T
A I L
KIT
-
BX
,OBUFFER
HEAD
BX,OBUFFER-TAIL
AX,[BX]
-
NEAR
BX
,OBUFFER
HEAD
BX
,OBUFFER-TA
I L
KIT
-
AX,
[BX]
K4
OBUFFER_HEAD,
BX
PROC
CLI
MOV
CMP
MOV
STI
RET
ENDP
PROC
MOV
CMP
JNE
MOV
INT
STI
NOP
CLI
MOV
CMP
JE
MOV
CALL
MOV
RET
ENDP
K
10_S_
XLAT:
CMP
AH,OEOn
JNE
KIO
S2
CMP
AL,ODn
JE
KIO
SI
CMP
AL,OAn
JE
KIO
SI
MOV
AH,35n
JMP
K
10
USE
KIO_Sl
:
MOV
AH,
TCn
JMP
KIO_USE
KI0_S2:
CMP
AH,84n
JA
KIO_DIS
CMP
AL,OFOn
JNE
KIO
S3
OR
AH,AH
JZ
KIO
USE
JMP
KIO=:DIS
KIO
-
S3:
CMP
AL,OEOn
JNE
K
10
USE
OR
AH,AH
JZ
K
10
USE
XOR
AL,AL
JMP
K
10_USE
KIO_USE:
CLC
RET
KIO_DIS:
STC
RET
K2S
KIT:
K 1S
KIO
E
XLAT:
- -
CMP
JNE
OR
JZ
XOR
K
10
E
RET:
- -
RET
K2S
Kl
S
176
177
178
179
009E
180
009E
8B
IE
OOIA
R
181
00A2
3B
IE
001C
R
182
00A6
75
05
183
184
00A8
B8
9002
185
OOAB CD
15
186
OOAD
187
OOAD
FB
188
OOAE
90
189
OOAF
FA
190
OOBO
8B
IE
001A
R
191
00B4
3B
IE
001C
R
192
00B8
74
F3
193
OOBA
8B
07
194
OOBC
E8
01
14
R
195
OOBF
89
IE
001A
R
196
00C3
C3
197
00C4
198
199
200
201
202
00C4
203
00C4
FA
204
00C5
8B
IE
OOIA
R
205
00C9
3B
IE
OOIC
R
206
OOCD
8B
07
207
OOCF
FB
208
0000
C3
209
0001
210
211
212
213
214
0001
215
0001
3C
FO
216
0003
75
06
217
0005
OA
E4
218
0007
74
02
219
0009
32
CO
220
OODB
221
OODB
C3
222
223
224
225
226
OODC
227
OODC
80
FC
EO
228
OODF
75
12
229
OOE
1
3C
00
230
00E3
74
09
231
00E5
3C
OA
232
00E7
74
05
233
00E9
B4
35
234
OOEB
EB
23
90
235
OOEE
B4
I C
236
OOFO
EB
IE
90
237
238
00F3
80
FC
84
239
00F6
77
I A
240
241
00F8
3C FO
242
OOFA
75
07
243
OOFC
OA
E4
244
OOFE
74
10
245
0 I
00
EB
I 0
90
246
247
0103
3C
EO
248
0105
75
09
249
0107
OA
E4
250
0 I
09
74
05
251
0 I
OB
32
CO
252
0100
EB
01
90
253
254
0110
255
0 I
10
F8
256
011
I
C3
257
0112
258
0112
F9
259
0113
C3
5-48
KEYBOARD
(01/10/86)

Table of Contents

Related product manuals