IBM AT 5170 Technical Reference page 220

Table of Contents

Advertisement

IBM Person"
COlllputer MACRO Assembler
Version 2.00
1-21
TESTl
----
06/10/55
POWER ON SELF TEST (POST)
06-10-85
2111
TEST. 12
2112
VERIFY CMOS CHECKSUM/BATTERY OK
2113
oESCR I PT I ON
2114
OETERM I NE IF CONF I G RECORD
2115
;
CAN BE USED FOR INITIALIZATION.
2116
1------------------------------------- - -­
2111
ASSUME
os
I
DATA
2115 0689 E6 0000 E
CALL
DOS
SET THE DATA SEGMENT
2119
2120 068C 80
16
MOV
AL,16H
<><><><><><><> <> <> <> <> <>
2121
068E E6 80
OUT
MFG_PORT, AL
<><>
CHECKPOINT
16
<><>
2122
2123
I S THE 8A TTERY LOW TH I S POWER UP?
2124
2125 06CO 80 60
MOV
AL,CMOS REG O+NMI
CHECK 8A TTERY CONO [T [ON
2126 06C2 E6 0000 E
CALL
CMOS READ
-
READ THE 8ATTERY STATUS
2121 06C5 A8 80
TEST
AL,100000008
[5 THE BATTERY LOW?
2128 06C1 14 08
JZ
CMOS 1 A
ERROR
I F YES
2129
2130 06C9 80 8E
MDV
AL,CMOS OIAG+NMI
GET THE OLD STATUS
2131
06C8 E6 0000 E
CALL
CMOS READ
FROM 0 I AGNOST [C STATUS 8YTE
2132 06CE A5 60
TEST
AL,8AO 8AT
HAS CUSTOMER SETUP BEEN EXECUTED?
2133 0600 14 15
JZ
CMOS 1 -
GO CHECK CHECKSUM IF YES
2134
2135 0602 E8 64
JMP
SHORT CMOS4
CONT I NUE WI THOUT CONF I GURAT I ON
2136
2131
SET DEFECTIVE 8ATTERY FLAG
2136
2139 0604 80
11
CMOSIA: MOV
AL,11H
<><><> <><> <> <> <> <> <> <><>
2140 0606 E6 80
OUT
MFG_PORT ,AL
<><>
CHECKPOINT
11
<><>
2141
2142 0606 B6 SESE
MOV
AX,X·1CMOS oIAG+NMI)
CMOS
0
I AGNOS TIC ST ATUS BYTE
2143 060B E6 0000 E
CALL
CMOS READ -
GET THE CURRENT STATUS
2144 060E OC 60
OR
AL,8AD 8AT
SET THE DEAD 8ATTERY FLAG
2145 06EO 66 C4
XCHG
AL,AH -
SAVE
2146 06E2 E6 0000 E
CALL
CMOS WR ITE
OUTPUT THE STATUS
2141 06E5 EB 51
JMP
SHORT
CMOS4
GO TO MINIMUM CONFIGURATION
2148
2149
;-----
VERIFY CHECKSUM
2150
2151
06E1 88 8E6E
CMOS I:
MOV
AX,X·'CMOS DIAG+NMI)
CLEAR OLD STATUS
2152 06EA E6 0000 E
CALL
CMOS READ -
GET THE CURRENT STATUS
2153 06Eo 61
3E 0012 R 1234
CMP
ORE SET FLAG, 1234H
IS THI S A 50FT RESET
2154 06F3 15 04
JNZ
CMOS
I_A
GO IF NOT
2155
2156 06F5 24 10
AND
AL,W MEM SIZE
CLEAR ALL BUT THE CMOS/POR MEMORY SIZE
2151 06F1 EB 02
JMP
SHORT CMOS '_8
2158 06F9
CMOS! A:
-
2159 06F9 2A CO
SUB
AL,AL
CLEAR STATUS
IF POWER ON RESET
2160 06F8
CMOS! 81
2161
06FB fl6 C4
-
XCHG
AL,AH
SAVE THE CURRENT STATUS
2162 06FO E8 0000 E
CALL
CMOS_WR I TE
2163
2164 0100 28 08
SUB
8X,8X
2165 0102 2B C9
SUB
CX,CX
2166 0104 Bl
90
MOV
CL,CMOS 01 SKETTE+NMI
SET START OF CMOS CHECKSUMEo AREA
2161 0106 B5 AE
MDV
CH,CMOS::::CKSUM_HI +NMI
SET END OF CMOS CHECKSUMED AREA + 1
2168
lFlRST 8YTE OF CHECKSUM)
2169 010fl flA Cl
CMOS2:
MOl,'
AL,CL
2110 010A Ee 0000 E
CALL
CMOS READ
ADDRESS THE 8EGINNING
2111 0100 2A E4
SUB
AH,AH
INSURE AH=O
2112 010F 03 De
ADD
8X,AX
ADD TO CURRENT VALUE
2113 0111 FE C1
INC
CL
PO I NT TO NEXT 8YTE ADDRESS
I N CMOS
2114 0113 3A E9
CMP
CH,CL
FINISHEO?
IAT CHECKSUM BYTE HIGH)
2115 0115 15 FI
JNZ
CMOS2
GO
IF NOT
211601110B08
OR
8X,8X
BX MUST NOT 8E 0
2117 011914
10
JZ
CMOS3
CMOS 8AO IF CHECKSUM=O
2118 011B BO AE
MOV
AL.CMOS CKSUM HI+NMI
GET THE CHECK SUM HIGH BYTE
2119 0110 E8 0000
E
CALL
CMOS READ
-
FIRST BYTE
OF
CHECKSUM
2180 0120 8A EO
MOV
AH,AL
SAVE
IT
2181
0122 80 AF
MDV
AL,CMOS CKSUM LO+NMI
SECOND BYTE OF CHECKSUM
2182 0124 E8 0000 E
CALL
CMOS READ
­
2183 0121 38 C3
CMP
AX,BX
I S THE CHECKSUM OK
2184 0129 14 00
JZ
CMOS4
GO IF YES
2185
2186
; -----
SET CMOS CHECKSUM ERROR
2161
2188 0128 88 8E8E
CMOS3:
MOV
AX,X· (CMOS DIAG+NMI)
ADDRESS DIAGNOSTIC STATUS
2189 012E Efl 0000 E
CALL
CMOS READ -
GET THE CURRENT STATUS
2190 0131
OC 40
OR
AL,8AD CKSUM
SET 8AD CHECKSUM FLAG
2191
013386 C4
XCHG
AL,AH -
SAVE IT
2192 0135 E8 0000 E
CALL
CMOS_WR I TE
SET FLAG
2193
2194
1-----
INSURE CMOS DIVIDERS SET
2195
2196 0138
CMOS41
2191 0138 88 flA8A
MOV
AX,X·iCMOS REG A+NMI)
ADDRESS CMOS REGI STER A
2198 013B E6 0000 E
CALL
CMOS READ -
-
GET CURRENT DIVISORS
2199
onE
24 OF
AND
AL.OOFH
LOOK AT PERIODIC RATE BITS
2200 0140 15 01
JNZ
CMOS9
EXIT
IF SET TO SOMETHING USEFUL
2201
2202 0142 80 26
MDV
AL,26H
ELSE SET THE STANDARD DEF AULT USED 8Y
2203 0144 86 C4
XCHG
AL,AH
BIOS FOR THE 916.56 US RATE
2204 0146 E8 0000 E
CALL
CMOS_WR ITE
FOR THE PER I 00 I C CLOCK
2205 0149
CMOS9 :
2206 0149 80
18
"DV
AL,IBH
<> <> <> <> <><><><> <> <> <><>
2201 0148 E6 80
OUT
MFG_PORT ,AL
<><>
CHECKPD I NT
16
<><>
2208
2209
;- - - - -
ENA8LE PROTECTED MODE
2210
2211 0140 E4 61
IN
AL,PORT 8
DISABLE MEMORY AND I/O PARITY CHECKS
2212 014F OC OC
OR
AL,RAM PAR OFF
2213 0151
E6 61
OUT
PORT_B7AL ­
2214
221 S
SET RETURN ADDRESS 8YTE
I N CMOS
2216
22110153B019
"OV
AL,!9H
<> <> <> <> <> <> <><><> <> <><>
22180155 E6 80
OUT
MFG_PORT ,AL
<><>
CHECK PO I NT
19
<><>
2219
2220 0151 88 018F
MOV
AX, I ·H+ (CMOS SHUT DOWN+NM I )
;
SET THE RETURN ADDRESS FOR
2221
015A E8 0000 E
CALL
CMOS_WRITE
-
-
I
THE FIRST SHUTDOWN RETURN ADDRESS
2222
2223 0150 8C 0000
MDV
SP,POST SS
;
SET STACK FOR SYSINIT1
2224 0160 BE 04
MDV
SS,SP
­
5-48
TEST1

Advertisement

Table of Contents
loading

Table of Contents