IBM AT 5170 Technical Reference page 262

Table of Contents

Advertisement

IBM Personal Computer MACRO Assembler
Version 2.00
1-3
TEST5 ---- 06/10/85
EXCEPT ION INTERRUPT TEST HANDLERS
06-10-85
22.
OIIC 88 o8AO
MOV
AX ,GOT_LOC
AX
=
LOW WORD OF GOT ADDRESS
230
OIIF AB
STQSW
PUT THAT
IN BASE FIELD -
LOW
231
0120 B8 0000
MOV
AX,O
AX
=
HIGH BYTE
OF ADDRESS, AND
232
0123 AB
STOSW
ACCESS RIGHTS BYTE
IS UNDEF I NED
233
SEGOV
ES
LOAD THE GOTR
23'
012-4 26
DB
026H
235
LGOT
[BP]
FROM TH IS AREA
23.
0125 OF
DB
OOFH
237
0126
n0004
LABEL
BYTE
238
0126 88 56 00
MOV
QX,WORo PTR [8P)
23'
0129
710005
LABEL
BYTE
2.0
0126
ORe
OFFSET CSt 770004
2"
0126 01
DB
OOIH
2.2
0129
ORe
OFFSET CS:??0005
2'.
2.3
0129 88 Fo
MOV
ol,BP
; RESTORE THE ES:DI POINTER
2 ••
o
12B AB
STOSW
2'5
012C AB
STOSW
0120 88 Fo
MOV
OI,SP
2'7
2"
SWITCH TO VIRTUAL MODE
2 ••
250
012F 50
POP
BP
RESTORE BP
251
0130 BS 0001
MOV
AX, V I RTUAL ENA8LE
MACHINE STATUS WORD NEEDED TO
252
LMSW
AX
-
SWITCH TO VIRTUAL MODE
0133 OF 01 FO
DB
OOFH, 00
I H. OFOH
"3
25'
255
0136 EA
08
OEAH
.JUMP FAR TO PURGE PRE-FETCH QUEUE
25.
0137 013B R
OW
OFFSET
~ONE
TO OFFSET
257
0139 00-40
ow
SYS_ROM_CS
IN SEGMENT
258
0138
DONE:
25'
0138 BO 85
MOV
AL ,85H
<><><><><><> <> <><><><><>
2.0
0130 E6 80
OUT
MFG_PORT ,AL
<><>
CHECK PO I NT
82
<> <>
2.,
013F C3
RET
SYSTEM
INITIALIZATION
2.2
2.3
0140
SYSINITI
ENDP
2.'
2.5
2 ••
0140
GOT SLo PROC
NEAR
2.7
0140 BE OlAF R
-
MOV
SI,OFFSET GOT DATA START
;
OS:SI
-->
GOT
2 ••
0143 B9 0044
MOV
CX, (OFFSET GOT DATA END-OFFSET GOT DATA STARn /2
; WORD COUNT
2.'
0146 F3/ AS
REP
MOVSW
-
-
-; COpy GOT I NTO MEMORY
270
0148 C3
RET
271
0149
GoT_BL.D ENDP
272
273
27'
0149
PROC
NEAR
275
27.
;-----
BUILD THE lOT.
THE
lOT WILL CONTAIN VECTORS FOR EXCEPTION HANDLERS
277
278
0149 BE 0237 R
MOV
!~ :g~FSET
SYS_IDT_OFFSET;
;
~~~~R~G~i
I
E~~~~TP~~NTS
280
0,4E BE 08
MOV
DS.AX
281
0150 BF oOAO
MOV
DI,SYS
lOT LOC
282
0153 2B CO
SUB
AX,AX -
­
283
0155 8E CO
MOV
ES,AX
WHERE THE
lOT WILL BE.
27.
014C 8C
CB
MOV
2.,
015T BB 0040
MOV
CS IS n£ SAME FOR ALL INTERRUPTS
2.5
015A B& 81
MOV
~~:i~!pRg~T~S
ACCESS RIGHTS BYTE FOR THE GATE
2 ••
OISC B2 00
MOV
OL,O
-
THE WORD COUNT FIELD I S UNUSED
287
OISE B9 0020
MOV
CX,32
THERE ARE 32 RESERVED INTERRUPTS
28e
0161
LOW_lOT:
THIS LOOP BUILDS 32 DESCRIPTORS IN THE
28.
lOT FOR THE RESERVED INTERRUPTS
2'0
0161
A5
MOVSW
GET A ROUTINE ENTRY POINT
2"
AND PUT IT IN THE OFFSET FIELD
2'2
0162 8B C3
MOV
AX,8X
GET THE SYSTEM CODE SEGMENT SELECTOR
2.3
0164 AB
STOSW
AND PUT I TIN THE SELECTOR FIELD
2"
0165 88 C2
MOV
AX.DX
GET THE I NTERRLlPT GATE BYTE
2.5
0'67 A8
STOSW
Alii) PUT IN THE ACCESS RIGHTS FIELD
2"
0168 B8 0000
MOV
AX,O
zERO OUT
2.7
016B AB
STOSW
THE RESERVED POS 1 T IONS
2"
o 16C E2 F3
LOOP
LOW lOT
AND REPEAT AS 01 REeTED
2"
016E B9 OOEO
MOV
CX,256-32
256 TOTAL -
32 DOt-E ::: WHATEVER
I S LEFT
300
0111
80 0217 R
MOV
8P,OFFSET FREE
INTS
THERE IS A COPY OF AN UN-INITIALIZED
301
INTERRUPT OESCR 1 PTOR AT FREE_' NTS
302
0174
HIGH_lOT:
303
0174 88 F5
MOV
SI,BP
OS:SI
-->
FREE DESCRIPTOR
30'
(ES:OI LEFT OFF AT INT 32)
305
0176 A5
MOVSW
MOVE OFFSET OF THE I RET
I NSTRUCT I ON
300
0111 A5
MQVSW
MOVE THE CS SELECTOR
307
0118
A5
MOVSW
MOVE THE ACCESS RIGHTS BYTE
30e
01 T9 A8
STOSW
ZERO OUT THE RESERVED WORD
30'
OllA E2 F8
LOOP
HIGH_lOT
FILL THE REMA I NOER OF THE TABLE
310
311
INITIALIZE THE ENTRY POINTS FOR POST TEST
312
313
017C 26
C7 06 olAO 0098 R
MOV
31.
018326
C7 0& DIA8 009C R
MOV
315
018A 26
Cl 06 0180 OOAO R
MOV
31.
0191
26
Cl 060188 00A4 R
MOV
317
0198 26
C'1 06 OICO OOA8 R
MOV
318
019F 26
C7 06 DIC8 OOAC R
MOV
31.
0lA6 26
C7 06 DIDO OOBO R
MOV
320
OIAo C3
RET
321
322
OIAE
[RET ADDR
LABEL
WORD
: FOR UN- I NIT I AL I ZED INTERRUPTS
323
OIAE CF
-
IRET
; NULL RETURN
S-90
TESTS

Advertisement

Table of Contents
loading

Table of Contents