LOAD A BLOCK OF TEST CODE THROUGH THE KEYBOARD PORT
FOR MANUFACTUING TEST.
TH IS ROUTI NE WILL LOAD A TEST
(MAX LENGTH=FAFFH)
THROUGH
THE KEYBOARD PORT. CODE WILL BE LOADED AT LOCAT I ON
0000:0500.
AFTER LOADING, CONTROL WILL BE TRANSFERED
TO LOCATION 0000:0500.
STACK WILL BE LOCATED ..JUST BELOW
THE TEST CODE. TH IS ROUTI NE ASSUMES THAT THE FR I ST 2
BYTES TRANSFERED CaNT A I N THE COUNT OF BYTES TO BE LOADED
(BYTE 1 =COUNT LOW, BYTE 2=COUNT HI.)
SOURCE
(BIOS FOR THE IBM PERSONAL COMPUTER XT)
1 1
108/82
5-115
COPYR I GHT NOT I CE
TOGGLE K
IB
CLOCK
SEND READ INT. REQUEST REG. CMD
SET UP PORT B ADDRESS
CONTROL BI TS FOR PORT B
K/B REQUEST PENDING MASK
GET IRR REG
KB REQUEST PENDING?
LOOP TILL DATA PRESENT
GET DATA
STORE IT
POINT OX BACK AT PORT B
(61)
LOOP TILL ALL BYTES READ
FAR ..JUMP TO CODE THAT WAS JUST
LOADED
POINT OX AT ADDR. 60
(KB DATA)
CX NOW HAS COUNT
SET 0 I R. FLAG TO I NCR I MENT
SET TARGET OFFSET
(DS=OOOO)
UNMASK K/B INTERRUPT
GET COUNT LOW
SAVE
IT
GET COUNT HI
KB FOR MEMORY SIZE
RETURN ADDRESS
RETURN ADDRESS FOR DUMMY STACK
FILL LOWEST 56K
CS: CODE, SS: CODE ,ES: ABSO ,OS: DATA
AL,INTAOO
AL,AH
TSTI
AL,DX
OX
TST
AL,BL
DX,AL
AL,BH
DX,AL
OX
DI,0500H
AL,OFDH
INTAO 1 ,AL
AL,OAH
INTAOO, AL
DX,61H
BX,4CCCH
AH,02H
SP TEST
BH-;BL
SP TEST
CH-;BL
CL,BH
'1501512 COPR.
IBM 1982'
, KB OK', 13
Cll
C24
PC-XT System BIOS (11/08/82)
ASSUME
INITIAL RELIABILITY TESTS -- PHASE
1
OW
OW
DATA DEF IN I TI ONS
DB
DB
ROM RES I DENT CODE
JMP
IN
AND
JZ
IN
STOSB
INC
LOOP
;----- FIRST, GET THE COUNT
TST:
MOV
OUT
MOV
OUT
DEC
TSTI :
MFG BOOT:
-
CALL
MOV
CALL
MOV
MOV
CLD
CLI
MOV
MOV
OUT
MOV
OUT
MOV
MOV
MOV
F3B
EXTRA OAT A AREA
ADD I T I aNAL KEYBOARD OAT A AREA
e
_
CODE
SEGMENT AT OFOOOH
DB
57344 DUP ( ? )
V IDEO 0 I SPLA Y BUFFER
V IDEO_RAM
ENDS
e
_
XXDATA
SEGMENT AT 50H
STATUS BYTE
DB
XXDATA- ENDS
.----------------------------------------
V
IDEO RAM
SEGMENT AT OB800H
REGEN-
LABEL
BYTE
REGENW
LABEL
WORD
DB
16384 DUP ( ? )
.----------------------------------------
BUFFER START
OW
BUFFER-END
OW
DATA
-
ENDS
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
237
238
239
240
241
242
243
244
245
246
247
248
249
CI
250
C2
251
252
235
236
229
230
231
232
233
234
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
LINE
0000
(57344
77
j"
EO 16 D7EO
EO 18 7EEI
LaC OB..JECT
EO 1A 204B42204F4B
E020 00
E021
E021
E81 31 A
E024 8AFB
E026 E80E 1A
E029 8AEB
E02B 8ACF
E02D FC
E02E FA
E02F BF0005
E032 BOFD
E034 E621
E036 BOOA
E038 E620
E03A BA6100
E03D BBCC4C
E040 B402
E042
E042 8AC3
E044 EE
E045 8AC7
E047 EE
E048 4A
E049
E049 E420
E04B 22C4
E04D 74FA
E04F EC
E050 AA
E051
42
E052 E2EE
E054 EA00050000
0000
0000
0000
(16384
77
)
EOOO 31353031353132
20434F50522E20
49424020313938
32
0000
77
0080
7777
0082
7777