IBM AT 5170 Technical Reference page 210

Table of Contents

Advertisement

---
IBM Personal Co",puter MACRO A •• e",ble,.
Version 2.00
I-II
TESTI
---- 06/10/85
POWER ON SELF TEST
(POST)
06-10-65
.11
PAGE
972
;-----
eIO_ROM_INIT MUST BE
INITIALIZED BY THE USER FOR VECTORED REQUESTS
.,3
914
0119
SHUT~I
915
0119 E4 60
IN
AL,PORT A
; FLUSH THE KEYBOARD BUFFER
916
0118 80 20
NOV
AL,EOI -
; FLUSH LAST T I MER REQUEST
I F PEND I NG
911
OliO E6 20
OUT
INTAOO,AL
-
TO ALLOW TIMER
INTERRUPTS
916
OIIF
SHUTA;
91901lFFF2E0061R
"NP
DWORD PTR OlD_ROM IN IT
FAR JUMP TO USER DEF I NED LOCAT I ON
.BO
AFTER SHUTDOWN TO REAL MODE CODE
'BI
WITH INTERRUPT 5 AND NM I 0 I SABLED
.B2
1-----
CHECKPOINT 01
'B3
9S4
0123
SHUTO:
9S5
0123 80 01
NOV
AL.OIH
<> <> <> <> <><><> <> <> <><><>
9S6
0125 E6 SO
OUl
MFG_PORT
I
AL
<> <> CHECKPO I NT
0 I
<> <>
.Bl
'BB
READ/WRITE/TEST THE 802S6 REGISTERS WITH ONE'S AND ZERO'S
'B'
990
0121 8S FFFF
NOV
AX ,OFFFFH
SETUP ONE'S PATTERN IN lAX)
991
012A F9
STC
SET CARRY FLAG
992
0128 13 21
"NC
ERROl
GO
I F NO CARRY
993
012D
C8:
994
0120 8E DS
NOV
DS.AX
;
WRITE PATTERN TO ALL REGISTERS
995
012F 8C 08
NOV
BX.DS
996
0131 8E C3
NOV
ES.8X
991
0133 8C CI
NOV
CX.ES
99S
0135 SE 01
NOV
SS.CX
999
0131 SC 02
NOV
DX.SS
1000013988 E2
NOV
SP,DX
1001 013B 8B EC
NOV
BP,SP
1002013088 F5
NOV
SI,BP
1003 013F S8 FE
NOV
DI,SI
10040141 1301
"NC
C.
1005014333 C1
XOR
AX,DI
;
PATTERN MAKE IT THROUGH ALL REGISTERS
1006 0145 15 01
ERROl
; NO - GO TO ERROR ROUT I NE
""Z
1001 0141 F8
CLC
;
CLEAR CARRY FLAG
100S 0148 EB E3
"NP
CB
1009 014A
co,
TSTIA
1010 014A OB C1
OR
AX,DI
ZERO PATTERN MAKE I T THROUGH
?
lOll
014C 14 01
CIOA
YES -
GO TO NEXT TEST
1012 014E
ERROl;
"Z
1013 014E F4
"-T
;
HALT SYSTEM
1014
1015
; - - - - -
I
NSURE THAT CMOS CLOCK
INTERRUPT S ARE
0
I SABLED
1016 014F
CIOA;
1011 014F 8S S8BB
NOV
AX,X· (CMOS REG B+NMI)
ADDRESS TO BOTH (AH)
AND (AL)
lOIS 0152 E6 10
OUT
CMOS_PORT, AL
-
ADORES5 CMOS ALARM BYTE WITH NM I =OFF
1019 015490
NOP
I/O DELAY
1020 0155 E4 11
IN
AL,CMOS DATA
GET THE CURRENT CONTROL REG I STER
1021 0151 24 01
AND
AL,OOOOOIIIB
CLEAR SET,PIE,AIE, AND SQWE BITS
1022 0159 86 C4
XCHG
AL,AH
SAVE IT
1023 015B E6 10
OUl
1024 0150 S6 C4
XCHG
~~~!RPORT
, AL
1025 015F E6 11
OUT
CMOS_DATA, AL
1026
1021 0161 BO 8C
NOV
AL,CMOS_REG_C+NMI
ADDRESS CMOS FLAGS BYTE WITH NMI=OFF
102S 0163 90
NOP
I/O DELAY
1029 0164 E6 10
OUT
CMOS_PORT, AL
1030 0166 90
NOP
I/O DELAY
1031 0161 E4 11
IN
AL,CMOS_DATA
READ STATUS TO CLEAR PENDING INTERRUPT
1032
1033
;-----
RESET VIDEO
1034
1035 0169 BO 00
NOV
AL,O
CLEAR DATA BYTE TO DISABLE VIOEO
1036 016B BA 0308
NOV
OX,03DSH
GET COLOR MODE CONTROL PORT AODRESS
1031 Ol6E EE
OUT
DX,AL
DISABLE COLOR VIDEO
103S 016F FE CO
INC
AL
MONOCHROME MODE RESET MASK
10390111 B2 as
NOV
DL,OaSH
GET ADDRESS OF MONOCHROME MODE CONTROL
10400113 EE
OUT
aX,AL
OISABLE
a/.
VIDEO, ENABLE HIGH RES
1041 011482 8A
NOV
aL,OBAH
ADDRESS OF MONOCHROME STATUS REGI STER
10420116 EC
IN
AL,DX
READ STATUS TO DISABLE EGA VIDEO
10430111 B2 DA
NOV
DL,ODAH
ADDRESS OF COLOR MODE STATUS REGISTER
10440119 EC
IN
AL,DX
READ STATUS TO DISABLE EGA VIDEO
1045 011A 80 00
NOV
AL,O
SELECT ATTRIBUTE PALETTE REGISTER 0
1046 011C B2 CO
NOV
DL,OCOH
WRITE
0
TO ATTRIBUTE ADDRESS REGISTER
I
1041 011E EE
OUT
DX,AL
;
TO DISABLE EGA VIDEO
1048 0 11F 80 FC
NOV
AL,IIIIIIOOB
; DISABLE PARITY CHECKERS
1049 OISI
E6 61
OUT
PORT_B,AL
1050
1051
I - ------- - ------- - - -- - -- - - - - - - - - - - - - - - - -­
1052
I
TEST .02
:
1053
i
ROM CHECKSUM TEST I
1054
; DESCRIPTION
:
1055
A CHECKSUM I S DONE FOR THE 32K
:
1056
READ ONLY MEMORY MODULES
(TWO)
:
1051
;
CONTAINING POST, BASIC AND BIOS.:
1058
;
--
-------------
- - - -- - - - -
----
- - - - - - - -- -
1059
1060
CHECKPO
I
NT 02
1061
1062 0 I S3 80 02
NOV
AL,02H
<> <> <> <> <> <> <> <> <><> <><>
1063 0lS5 E6 80
OUT
MFG_PORT, AL
<><> CHECKPOINT
02
<><>
1064
106~
ASSUME
SS;CODE
1066 0181 SC C8
NOV
AX,CS
I
SETUP 5S SEGMENT REG I STER
1061 0lS9 8E DO
NOV
SS ,AX
106S 018B 8E OS
NOV
as,AX
SET UP DATA SEGMENT TO PO I NT TO
1069 018033 F6
XOR
51,SI
RON ADDRESS START
1010 OISF 33 DB
XOR
aX,BX
CLEAR CHECK REG I STER
1011 0191 B5 80
NOV
CH.080H
COUNT FDR 32K WORDS
1012 0193
CII:
1013 0193 AD
LODSW
MOVE TWO BYTES
INTO AX
51=51+2
1014 0194 02 DC
ADD
BL.AH
ADD
000 BYTE AT 05:51+1 TO CHECKSUM
1015 0196 02 OS
AOD
BL,AL
ADD EVEN BYTE AT 05:51 TO CHECKSUM
1016 019S E2 F9
LOOP
CII
LOOP COUNT FOR 65K BYTES
(32K WORDS)
1011 019A 13 02
"NC
CIIE
EXIT IF "LOOP" RESET THE CARRY FLAG
1018
INOTE: MODEL BYTE MUST NOT
ZERO)
1019 019C 14 01
CIIA
CONT INUE IF CHECKSUM VALID
(ZERO)
10SO Ol9E
CI lEI
-
,,-.....,
"Z
10SI OI9E F4
HLT
;
ELSE HALT IF CHECKSUM PROBLEM
IOS2
I-~~----------------------------------
1083
I
TEST .03
;
1084
I
VER IFY CMOS SHUTDOWN BYTE
5-38
TESTl

Advertisement

Table of Contents
loading

Table of Contents