LOC
OBJ
LINE
SOURCE
0000
217
REGEN
LABEL BYTE
0000
218
REGENW
LABEL
WORD
0000
116384
219
DB
16364
DUPI?)
220
ENDS
2.
21
i
-------------------------
--
- -
----
-------
222
ROM
RESIDENT
CODE
223
,--------------
-
--
------._---------------
224
CODE
SEGMENT
AT
OFOOOH
DODO
157344
225
08
57344
DUPI?)
I
FIll
LOWEST
56K
226
EOOO
31353031343736
227
DB
'1501476
COPR.
IM
19,r,l'
;
COPYRIGHT
NOTICE
20tt34FS052ZE20
49424020313938
"
228
2.
29
;
----------------------------------------------------------------
230
INITIAL
J?HIABIllTY
TESTS
--
PHASE
1
231 ;
---------------
- -
-------------------------
----------------------
232
ASSUNE
CS:tODE.
SS
:CODE.ES;ABSD.DS:DATA
233
;
----------
-----------
-
---
--
-
--
-
--
-------
234
DATA
DEFINITIONS
235
1----------------------------------------
£016
DIED
236
Cl
OW
Cll
I
RETURN
ADDRESS
237
2:36
1--------------------
-
--
--
----------
-------------------------------------
239
THIS
SUBROUTINE
PERFORMS
A REAO/WR'ITE
STORAGE
TEST
ON
240
1 A
16K
BLOCK
OF
STORAGE.
241
; ENTRY REQUIREMENTS:
242
ES = ADDRESS
OF
STORAGE
SEGMENT
BEING
TESTED
243
OS
l:
ADDRESS
OF
STORAGE
SEGMENT
BEING
TESTED
244
WHEN
EHTERING AT STGTST_CHT,
CX
MUST
BE
LOADED
WITH
245
THE
BYTE;
COUNT.
246
EXIT
PARAMETERS:
247
ZERO
FLAG = 0
IF
STORAGE
ERROR
IDATA
COMPARE
OR
PARITY
CHECK.
2:48
AL = 0
DENOTES
A
PARITY
C!-IECK. ELSE
AL=xOR'ED'BIT
2:49
PATTERN
OF
THE
EXPECTED DATA PATTERN
'IS
THE
2:50
ACTUAL DATA READ.
251
AX,BX,CX,DX,OI,
AND
SI
ARE
ALL
DESTROYED.
252
1----------------------------
..
-------------------------------------------
253
E018
254
5TGT5T PROt
NEAR
E018
890040
Z55
MOV
tX.4000H
1 SETUP
CNT
TO
TEST A
16K
BLK
E018
256
STGTST_Ctrr:
EOIB
Fe
257
eLD
I SET
OIR
flAG
Tn
INCREMENT
EOIC 8BD9
Z58
MOV
BX,cx
i SAVE BYTE
CNT
(4K
FOR
VIDEO
OR
16K)
£OlE
88AAAA
Z59
HOV
AX.DAAAAH ; GET DATA PATTERN
TO
WRITE
E021 BASSFF
26.
I10V
DX.OFF55H
; SETUP
OTHER
DATA.
PATTERNS
TO
USE
E024
2BFF
261
SU>
01,01
1
01
= OFFSET 0
RELATIVE
TO
ES
REG
E026 F3
262
REP
STOSS ; WRITE
STORAGE
LOCATIONS
E027
AA
E028
Z63
C3:
I
STGOI
E028 4F
Z64
DEC
Dr
; POINT
TO
LAST BYTE JUST WRITTEN
£029
FD
265
.TD
; SET
OIR
FLAG
TO
GO
BACKWARDS
[OlA
266
C4:
E02A
8BF7
Z67
HOV
51,01
E02e BBce
268
HOV
CX,BX
; SETUP BYTE CNT
E02E
269
CS:
I INNER TEST
LOOP
E02E
AC
270
LOOSB
I
READ
OLD
TST BYTE
FROM
STORAGE
(511+
E02F 32C4
271
XOR
AL,AH
; DATA
READ
AS
EXPECTED?
E031 752.5
272
JNE
e7
;
NO
-
GO
TO
ERROR
ROUTINE
E033 6ACZ
273
HOV
AL,OL
;
GET
NEXT DATA' PATTERN
TO
WRITE
E035
AA
274
STOSB
; WRITE INTO LOCATIOH JUST
READ
(011+
E036
E2F6
Z75
LOOP
e5
I
DECREMENT
BYTE
COUNT
AND
LOOP
CX
276
E036
22.E4
277
AND
AH.AH
HIDING
ZERO
PATTERN
}o.'RITTEN
TO
STG
?
E03A
7416
278
JZ
e6X
;
YES
-
RETURN
TO
CAlLER
WITH AL=O
r"\
f03e
6AEO
279
HOV
AH,AL
; SETUP
NEW
VALUE
FOR
COMPARE
£03E
66F2
280
XCHG
DH,DL
;
MOVE
NEXT DATA PATTERN
TO
DL
E040
22£4
281
AND
AH,AH
1 READING
ZERO
PATTERN
THIS
PASS?
E042 7504
Z82
JNZ
C6
J CONTINUE TEST
SEQUENCE
TIll
ZERO
DATA
£044
6A04
283
HOV
OL.AH
ELSE SET ZERO
FOR
END
READ
PATTERN
£046
fBEO
28'
JHP
e3
;
AND
MAKE
FINAL
BACKWARDS
PASS
E048
285
C6:
System BIOS
5-33