IBM AT 5170 Technical Reference page 235

Table of Contents

Advertisement

••• •••
•••
•••
•••
••• •••
•••
•••
•••
•••
IBM Personal Computer MACRO Assenlbler
Version 2.00
.
-.
TEST2 ----
06/10/85
POST TESTS AND INITIALIZATION ROUTINES
06-10-85
571
572
573
574
575
57'
577
57.
57'
5.0
5.'
5.2
5.3
5••
5.'
5 ••
5.7
5
5.'
••
5.0
5"
5'2
5'3
5"
5"
596
5.7
5'.
5"
.00
'0 I
.02
.03
.0'
'0'
.0.
.07
.0.
'09
.,0
."
.,2
"3
.,.
"5
.,.
." ".
.,9
.20
.2.
'22
'23
'2'
'2'
'2'
.27
.2.
'29
'30
.3'
.32
.33
'3'
.35
.3.
.37
'3 •
•3'
,'0
...
••2
"3
'4'
'47
.4•
.50
•• 2
•• 3
.5. .5. .5.
'57
.5.
...
•• 0
"2
'.3
•• 7
...
.70
."
'72
'73
.7.
.75
.7.
.77
.7.
.79
•• 0
•• 2
•• 3
0204
0205
0206
0208
0209
02DB
0208
020C
0200
02EO
02E3
02E5
02E6
02EC
02F3
02F5
02F1
02F9
02FB
02FO
02FD
02FF
0301
0301
0300
030F
0310
031
I
0312
0313
0314
0315
031A
031 C
031C
0322
0322
0326
0328
032A
032C
032E
032F
0331
0333
0335
0337
0339
033C
033F
0340
0341
0342
0343
0345
0341
0349
0348
0340
034F
0350
0351
0354
0355
0356
0359
035A
0358
0350
035E
0360
0360
0362
59
49
E3
51
EB
58
58
B9
E8
6A
01
261
26:
2A
E6
E6
80
E6
80
E6
26:
26:
71
59
58
58
50
53
51
26:
12
261
261
E6
3C
14
6A
IF
2B
88
03
98
4088
0000
08
C6
C1
CO
85
86
01
84
33
80
80
80
13
38
06
C6
AO
84
FE
34
60
FF
15
88 F1
2B
89
B9
E8
59
58
50
51
38
8B
15
E4
24
15
59
58
05
50
51
E8
59
49
E3
51
EB
BO
E6
CO
05
1A69
0000
C2
C2
IE
61
CO
18
0040
099F
03
90
34
80
E
06 0064
06 0062
06 0064
3E 0064
06 0064
06 0064
0064
E
R
POP
ex
RECOVER 64K BLOCK COUNT
OEe
ex
DECREMENT BLOCK COUNT FOR LOOP
.JCXZ
KB_LOOP3
CONT I NUE TO NEXT TEST I F DONE
PUSH
CX
SAVE LOOP COUNT
JMP
LOOP TI LL ALL MEMORY CHECKED
E2'
KB_LOOP3:
END MA IN TEST LOOP
POP
AX
CLEAR MAX I MUM BLOCK COUNT
POP
AX
CLEAR BASE SIZE COUNT FROM STACK
ADDRESS TEST VALUES ARE IN STACK
ADORES S L I "IE 16-23 TEST
LET FIRST PASS BE SEEN
MOV
CALL
CX,I6511
WAITF
COUNT FOR 250 MS FIXED TIME DELAY
ALLOW S
I
X D I SPLAY REFRE SH CYCLES
;---- ­
INITIALIZE OS DESCRIPTOR
00
0000
PUSH
POP
MOV
MOV
BYTE PTR GOT PTR
ES
-
BYTE PTR ES: (OS TEMP.8ASE HI BYTE) ,0
ES;OS_TEMP.SASE::::LO_WORO,O- ­
;----­
TEMPORARY SEGMENT SAVE IN DMA PAGE REGISTER
5U8
OUT
OUT
MOV
OUT
AL,AL
DMA PAGE+4.AL
oMA-PAGE+5,AL
AL,OIH
OMA_PAGE+3,AL
HIGH 8YTE OF LOW WORD OF SEGMENT
LOW 8YTE OF LOW WORD OF SEGMENT
SET HIGH BYTE OF SEGMENT WORD
HIGH BYTE OF SEGMENT
;----­
POINT TO NEXT BLOCK OF 64K
01
MOV
OUT
ADD
AL,l3H
;
<><><><><><><><><><><><>
MFG PORT ,AL
;
<><>
CHECKPOINT
33
<><>
BYTE" PTR ES: lDS_TEMP.8ASE_HI_BYTEI ,01
;---- ­
CHECK FOR END OF BASE NENORY TO 8E TESTED
OA
CMP
..JA
8YTE PTR ESIIDS TEMP.BASE HI BYTEI,OAH
NEXT_A
-
;-CONTINUE IF ABOVE I MEG
POP
POP
POP
PUSH
PUSH
PUSH
CMP
..JB
CX
;
GET COUNT
BX
;
GET COUNT TESTED
AX
;
RECOVER COUNT OF BASE MEMORY 8LOCKS
AX
;
SAVE BASE COUNT
BX
;
SAVE TESTED COUNT
CX
;
SAVE TOTAL COUNT
BYTE PTR ESI (OS TEMP.BASE HI BYTE) ,AL
; MAX BASE COUNT
NEXT_A
-
;-CORTINUE IF NOT DONE WITH BASE MEMORY
DO ADD 1T IONAL STORAGE ABOVE I MEG
NEXT A2:
10
-
MOV
BYTE PTR ES: (DS_TEMP.BASE_HI_BYTEl ,tOH
NEXT_A:
MOV
AL,BYTE PTR ES: /OS_TEMP.BASE_HI_BYTE)
; -----
DMA PAGE REG I STERS 3
I
SAVE THE HIGH 8YTE OF SEGMENT
OUT
;
FOR POSSIBLE ERROR
;-----
CHECK FOR TOP OF MEMORY
(FEOOOO)
16 MEG
CMP
AL,OFEH
; TOP OF MEMORY?
JZ
K8_LOOP_3
; GO NEXT TEST
IF' IT IS
;-----
SET OS REGISTER
PUSH
BYTE PTR OS TEMP
POP
as
­
SUB
Dl,OI
;
POINT TO START OF BLOCK
MOV
DX.DS:
[or
1
; GET THE VALUE OF THIS BLOCK
MOV
SI,DJ
;
SET S I FOR POSS I BLE ERROR
SUB
AX.AX
;
CLEAR MEMORY LOCATION
MOV
lol},AX
ALLOW 01 SPLAY TIME TO D I SPLAY MESSAGE AND REFRESH TO RUN
MOV
CX,6761
COUNT FOR 102 loiS FIXED TIME DELAY
CALL
WAITF
ALLOW FI VE D I SPLA Y REFRESH CYCLES
POP
CX
GET THE LOOP COUNT
POP
AX
RECOVER TESTED MEMORY
PUSH
AX
SAVE TESTED MEMORY
PUSH
CX
SA VE LOOP COUNT
CMP
AX,DX
DOES THE BLOCK
10 MATCH
MOV
AX,OX
GET THE BLOCK
10 FOR POSS I BLE ERROR
JNZ
E21 A
GO PR I NT ERROR
.
-----
CHECK FOR CHECK PAR I TV
'N
AL,PORT B
CHECK FOR 1/0 OR PARITY CHECK
ANa
AL,PARlfY_ERR
STRIP UNWANTED BITS
JNZ
E21A
EXIT IF PARITY ERROR
POP
CX
POP CX TO GET AX
POP
AX
RECOVER TESTED MEMORY
ADO
AX,64
.4K I NCRENENTS
PUSH
AX
SAVE TESTED MEMORY
PUSH
CX
SAVE LOOP COUNT
CALL
PRT_OK
DISPLAY OK MESSAGE
POP
CX
RECOVER 64K BLOCK COUNT
OEC
CX
LOOP TILL ALL MEMORY CHECKED
..Jcxz
KB_LOOP _3
CONT INUE
PUSH
ex
SAVE LOOP COUNT
JMP
E2'
A
CONTINUE TILL DONE
1-----
BACK TO REAL MODE - MEMORY TESTS DONE
KB LOOP 3:
-
-MOV
AL,34H
<><><> <><><> <><> <><><><>
OUT
MFG_PORT, AL
<><>
CHECKPO I NT
34
<><>
TEST2
5-63

Advertisement

Table of Contents
loading

Table of Contents