IBM AT 5170 Technical Reference page 261

Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Version 2.00
'-2
TESTS ---- 06/10/85
EXCEPTION INTERRUPT TEST HANDLERS
06-10-85
115
008C BO AD
lib
008EEB22
111
0090
118009080AE
119
0092 E8
IE
120
0094
121
0094 80 AF
122
00ge EB IA
123
0098
124
0098 BO BO
125
009A EB Ie
126
009C
121
009C BO Bl
128
009E
E8
12
129
OOM
130
OOAO 80 82
131
00A2 EB OE
132
00A4
133
00A4 BO B3
134
00A6 EB OA
135
00A8
13b
00A8 BO B4
131
OOAA EB 06
138
OOAC
'39
OOAC BO B5
140
OOAE EB 02
141
OOBO
142
0080 BO 86
,.,
144
145
00B2
146
00B2 E6 80
141
00B4 3C AF
148
00B6 11 I C
149
150
00B8
IE
151
00B9 6A 08
152
OOBB
1F
153
OOBC C1
06 0048 FFFF
154
00C2 C6 06 0040 93
155
00C1 6A 48
156
00C9 01
151
OOCA
IF.
158
OOCB 5A
159
OOCC 59
160
OOCO 51
161
OOCE 83 F9 40
162
0001
15 01
I.'
164
0003 52
165
0004
166
0004 86 EO
167
0006 E4 8B
168
0008 3A C4
169
OOOA 74 OE
170
OOOC
171
OOOC E4 80
172
OOOE 3C 3B
173
OOEO 12 01
114
00E2
CF
115
176
00E3
177
00E3 86 EO
178
00E5 E6 80
119
00E7 F4
160
00E8 E8 F9
181
162
OOEA
183
OOEA 2A CO
184
OOEC E6 8B
185
OOEE 880100
186
OOF
I CF'
,.,
I ••
189
190
191
192
19'
194
00F2
195
00F2 FA
196
00F3 55
197
00F4 BO 81
198
00F6 E6 80
199
00F8 E8 0149 R
200
00F8 8B EF
20 I
202
20'
204
OOFO B8 0800
205
0 I 00 AS
206
010 I B8 DOAD
207
0104 AB
208
0 I 05 B8 0000
209
0108
AS
210
211
010926
212
213
010A OF
214
OIOB
215
010B 8B 5E 00
216
010E
217
OIOB
218
010B 01
219
OIOE
220
010E 8B FO
221
222
22'
224
0110 BF 08AO
225
0113 E8 0140
R
226
0 I 16 8B EF
227
0 I 18 B8 0088
228
011B AB
AL.OADH
<><>
SET CHECKPOINT
<><>
J"P
SHORT
TEST_EXC
GO TEST IF EXCEPTION WAS EXPECTED
Exe
30 :
"0'
-
AL,OAEH
<><>
SET CHECKPO I NT
<><>
"0'
-
SHORT
TEST_EXC
GO TEST IF EXCEPTION WAS EXPECTED
Exe
31 :
"OV
AL,OAFH
<> <>
SET CHECK PO 1 NT
<><>
J"P
SHORT
TEST_EXC
GO TEST IF EXCEPTION WAS EXPECTED
SYS 32:
J"P
-
AL,OBOH
<><>
SET CHECKPOINT
<><>
"0'
J"P
SHORT
TEST_EXC
GO TEST I F
I NTERRUPT WAS EXPECTED
SYS 33:
-
AL,081H
<><>
SET CHECKPOINT
<><>
J"P
SHoRT
TEST_EXC
GO TEST IF
INTERRUPT JAS EXPECTED
srs
-
341
AL,OB2H
<><>
SET CHECK PO I NT
<><>
"0'
"0'
SHORT
TEST_EXC
GO TEST IF
[NTERRUPT WAS EXPECTED
SYS
-
35:
"OV
AL,OB3H
<><>
SET CHECKPOINT
<><>
J"P
SHORT
TEST_EXC
GO TEST I F
I NTERRUPT WAS EXPECTEO
SYS 36:
""P
-
AL,OB4H
<><>
SET CHECKPO I NT
<><>
"0'
SHORT
TES T _ EXC
GO TEST IF INTERRUPT WAS EXPECTEO
SYS 37:
""P
-
AL.OB5H
<><>
SET CHECKPOINT
<><>
J"P
SHORT
TEST_EXC
GO TEST [F
[NTERRUPT WAS EXPECTEO
SYS 38:
"0'
-
AL,OB6H
<><>
SET CHECKPOINT
<><>
GO TEST I
F
I NTERRUPT WAS EXPECTED
"0'
TEST EXC:
-
OUT
MFG PORT .AL
OUTPUT THE CHECKPO I NT
e"p
AL.OAFH
CHECK FOR EXCEPT! ON
JA
TEST _EXCO
GO
IF A SYSTEM INTERRUPT
PUSH
OS
SAVE THE CURRENT DATA SEGMENT
PUSH
BYTE PTR GOT PTR
POP
OS
­
MOV
DS:ES TEMP.SEG LIMIT,MAX SEG LEN
MOV
8YTE PTR
os:
(ES TEMP.OATA Ace RIGHTS) ,CPLO DATA ACCESS
PUSH
8YTE PTR ES TEMP
-
-
- ­
POP
ES
­
POP
OS
RESTORE REGI STERS
POP
OX
CHECK
IF CODE SEGMENT SECOND ON STACK
POP
CX
PUSH
CX
CMP
CX.SYS ROM CS
,JNZ
TEST_ EXCO -
CONT I NUE I F ERROR CODE
PUSH
ox
;
PUT SEGMENT BACK ON STACK
TEST EXCO;
-
XCHG
AH,AL
SAVE THE CHECKPOINT
IN
AL,DMA PAGE+OAH
eMP
AL,AH -
WAS THE EXCEPT I ON EXPECTED?
JZ
TEST _EXC3
GO IF YES
TEST EXC I:
- ' N
AL,MFG PORT
CHECK THE CURRENT CHECKPO I NT
e"p
AL,03BH
HALT IF CHECKPOINT BELOW 38H
J8
TEST _EXC2
IRET
TEST EXC2:
-
XCHG
AH,AL
OUTPUT THE CURRENT CHECKPO
I
NT
OUT
MFG_PORT ,AL
<><>
CHECKPOINT
90 THRU
B5
<><>
HL T
J"P
TEST_EXC2
INSURE SYSTEM HALT
TEST EXC3:
-
SUB
AL,AL
CLEAR DMA PAGE
OUT
OMA PAGE+OAH,AL
AX,OIOOH
FOR BOUND
I NSTRUCT I ON EXPECTED
I I NT 5
~
IRET
RETURN
"0'
;
- -- -----
---
- - -- --- - -- -- - - - -- -
- -
---------
- - -
-
---
------
-
----­
;
THI S BU I LOS THE OESCR I PTOR TABLES REQU I RED FOR PROTECTED MODE
PROCESSOR MUST BE
I N REAL MODE
j - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­
ASSUME
CS: CODE, OS: NOTH I NG, ES: NOTH I NG. SS ; NOTH I NG
SYSINIT!
PROC
NEAR
eLi
NO
I NTERRUPTS ALLOWED
PUSH
8P
SAVE BP
AL,6IH
<> <><> <> <><><><><><><><>
OUT
MFG PORT ,AL
<><>
CHECKPOINT
81
<><>
CALL
S lDT BLO
"OV
8P,oT
SAVE THE POINTER TO ,JUST PAST THE IDT
AS 'll'E HAVE NO SOA, USE THE S
I
X BYTES
HERE TO LOAD THE 10TR.
WE WILL SlOT
WHEN WE GET TO SOA
INITIALIZATION.
"0'
AX,SYS
lOT_LEN
SEGMENT LIM IT
=
LENGTH OF lOT
STOSW
STORE THAT AS
JOT LIMIT
"0'
AX,SYS_IDT_LOC
lOT ADDRESS
STOSW
ANO ACCESS RIGHTS BYTE
[UNDEF I NED)
"0'
AX,O
STOSW
SEGOV
ES
LOAD THE
lOT
08
026H
LlOT
[BP]
REGI STER FROM THI S AREA
08
OOFH
7? 000 I
LABEL
BYTE
"0'
BX,WORD PTR lBP]
110002
LA8~L
BYTE
ORG
OFFSET CS: 110001
08
OOIH
ORG
OFFSET CS:? ?OOOZ
"OV
DJ,BP
ES:OI NOW
-->
END OF
lOT AGAIN
"0'
BUILD THE GOT.
MOV
Ol,GDTlOC
CALL
GOT Bli)
MOV
BF,DI
SAVE THE ES:OI
POINTER
MOV
AX,GDT_LEN
AX
=
LENGTH OF THE GOT
STOSW
PUT THAT
IN THE LIMIT FIELD
TESTS
5-89

Advertisement

Table of Contents
loading

Table of Contents