LI NE
SOURCE
(B I OS FOR THE I BM PERSONAL COMPUTER XT)
1 1 /08/82
; ----- CONVERT ANY UPPER CASE TO LOWER CASE
; ----- TRANSLATE SCAN FOR PSEUDO SCAN CODES
5-137
DISKETTE ERROR
SPEAKER OFF
TURN ON SPEAKER BIT
OUTPUT TO CONTROL
SET UP COUNT
KEYBOARD ERROR
ANOTHER HALF CYCLE
TOT AL T I ME COUNT
DO ANOTHER CYCLE
RECOVER CONTROL
OUTPUT THE CONTROL
BUFFER-FULL -BEEP
END OF I NTERRUPT COMMAND
SEND COMMAND TO I NT CONTROL PORT
NUMBER OF CYCLES FOR 1/12 SECOND TONE
GET CONTROL
I NFORMA T I ON
SAVE
BEEP-CYCLE
TURN OFF T I MER GATE AND SPEAKER DATA
OUTPUT TO CONTROL
HALF CYCLE T I ME FOR TONE
TRANSLATE-SCAN
CONVERT OR I GIN TO FUNCT I ON KEYS
TRANSLATE-SCAN-ORGD
CTL TABLE SCAN
PUT V ALUE INTO AH
ZERO ASC I I CODE
PUT
I T I NTO THE BUFFER
LOWER-TO-UPPER
F I NO OUT I F ALPHABET I C
NOT_CAPS_STATE
NOT CAPS STATE
CONVERT TO UPPER CASE
NOT-CAPS-STATE
GET THE END PO I NTER TO THE BUFFER
SAVE THE VALUE
ADVANCE THE TA I L
HAS THE BUFFER WRAPPED AROUND
BUFFER FULL BEEP
STORE THE VALUE
MOVE THE PO I NTER UP
I NTERRUPT_RETURN
F I NO OUT I F ALPHABET I C
NOT_CAPS_STATE
NOT CAPS STATE
CONVERT TO LOWER CASE
NOT CAPS STATE
NEAR-I NTERRUPT-RETURN
I NTERRUPT_RETURN
BUFFER-F I LL-NOTEST
ARE WE I N CAPS LOCK STATE
SK IP IF NOT
301',13,10
'601',13,10
K66
AL,2
KB CTL,AL
CX:48H
K67
BX
K65
AX
KB CTL,AL
K27
AL,EOI
20H, AL
BX,080H
AL,KB CTL
AX
-
AL,OFCH
KB CTL,AL
CX:48H
AL,59
CS:K9
AH,AL
AL,O
K57
AL,' a'
K61
AL,'
z'
K61
AL,' a' -'A'
BX,BUFFER TAIL
SI,BX
-
K4
BX, BUFFER HEAD
K62
-
[S I]
,AX
BUFFER TAIL,BX
K26
-
K26
KB FLAG,LEFT SHIFT+RIGHT SHIFT
,TEST FOR SHIFT STATE
K60
-
;- I F NOT SH I FT, CONVERT LOWER TO UPPER
AL, 'A'
K61
AL,
'Z'
K61
AL,' a'-'A'
SHORT K61
KB FLAG,CAPS STATE
K61
-
PC-XT System BIOS (11/08/82)
DB
DB
LOOP
DEC
JNZ
POP
OUT
JMP
AND
OUT
MOV
LOOP
OR
OUT
MOV
SUB
MOV
OUT
MOV
IN
PUSH
ENDP
XLAT
MOV
MOV
JMP
JMP
CMP
JB
CMP
JA
SUB
MOV
MOV
CALL
CMP
JE
MOV
MOV
JMP
TEST
JZ
CMP
JB
CMP
JA
ADD
JMP
TEST
JZ
I N CAPS LOCK STATE
; - - - - - BUFFER
I S FULL, SOUND THE BEEPER
K67:
K66:
; ----- CONVERT ANY LOWER CASE TO UPPER CASE
K65:
K62:
K64:
K63:
; ----- HANDLE THE CAPS LOCK PROBLEM
K60:
K61 :
K59:
K58 :
2301
F3
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
F 1
LOC OBJECT
ECID
EC 10 2C3B
ECIF
EC 1F 2ED7
EC21
8AEO
EC23 BOOO
EC25 EBAE
EBFB
EBFB 3C61
EBFD 7206
EBFF 3C7A
ECO 1 7702
EC03 2C20
EC05
EC05 8B1EICOO
EC09 8BF3
ECOB E863FC
ECOE 3BIEIAOO
EC 12 7413
EC14 8904
EC16891E1COO
EC 1A E93CFE
EC4C 20333031
EC50 00
EC51
OA
EC52 363031
EC55 00
EC56 OA
EC27
EC27 B020
EC29 E620
EC2B BB8000
EC2E E461
EC30 50
EC31
EC31
24FC
EC33 E661
EC35 B94800
EC38
EC38 E2FE
EC3A OC02
EC3C E661
EC3E B94800
EC41
EC41 E2FE
EC43 4B
EC44 75EB
EC46 58
EC47 E661
EC49 E912FE
EBEC 3C41
EBEE 7215
EBFO 3C5A
EBF2 7711
EBF4 0420
EBF6 EBOD
EBF8
EBF8 E95EFE
EBE5 F606170003
EBEA 740F
EBDE
EBDE F606170040
EBE3 7420