IBM XT 5160 Technical Reference page 195

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

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)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents