IBM 5170 Technical Reference page 225

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

TITLE
SYSINITl
- 09/26/83 INITIALIZE FOR PROTECTED MODE (POST TEST)
SYSINITl
Include fi las
INCLUDE SYSDATA.INC
I NCLUDE ACCESS. INC
INCLUDE
SYSDATA.r~AC
INCLUDE IAPX286.MAC
INCLUDE POSTEQU.SRC
. Ll
ST
PUBLIC
SYSINITl
EXTRN
SlOT BLD:NEAR
EXTRN
CDT_BLD: NEAR
I
NCLUOE SEGMENT. SRC
0000
CODE SEGMENT BYTE PUBLIC
",--......
ASSUME
CS:CODE
ASSUME
SS: NOTH I NG
ASSUME
OS; NOTH I NG
ASSUME
ES; NO
TIl
I NC
PAGE
0000
SYSINIT1
PROC
NEAR
;
­
----
­-
-----
-
--­
-­ - -
----
­
---
­ -
-
-----
­ -­
---
­
------­
-
-
--
---.
-------­
TH I S BU I LOS THE OESeR I PTOR TABLES REQU I RED FOR PROTECTED MODE
PROCESSOR MUST BE I N REAL MODE
0000
0001
fA
55
CLI
PUSH
BP
;
;
NO I NTERRUPTS ALLOWED
SAVE BP
0002
0004
BO 81
E6 80
MOV
OUT
AL,81H
MFG_PORT. Al
; <><><><><><><><><><><:><><>
; <><><>CHECKPO
I
NT 81 <><><>
0006
0009
E8 0000 E
88
EF
CALL
MOV
SlOT BlD
BP,DI
SAVE THE POINTER TO JUST rAST THE IDT
SINCE WE HAVE NO SDA, USE THE SIX BYTES
HERE TO LOAD THE IDTR.
WE WILL SlOT
WHEN WE GET TO SDA INITIALIZATION.
0008
DOOE
OOOF
0012
B8 0800
AB
B8 DOAD
AB
Mav
STOSW
MOV
STOSW
AX,SYS_ I DT _lEN
AX, SYS_'DT_LOC
SEGMENT LIMIT
=:
LENGTH Of I,DT
STORE THAT AS lOT LIMIT
I DT ADDRESS
AND ACCESS RIGHTS BYTE (UNDEF I NED)
0013
88 0000
MOV
AX,O
0016
AB
STOSW
SEGOV
ES
LOAD THE lOT
0017
0018
26
Of
·
DU
LlDT
DB
026H
I
BP
1
OOFH
REGISTER FROM THIS AREA
0019
0019
OOlC
88 5E 00
+ 710001
·
+ 710002
LABEL
MOV
LABEL
BYTE
BX,WORD PTR [BP)
BYTE
0019
aRc
OFFSET CS: 110001
0019
01
DB
001H
D01C
D01C
88
FD
ORc
MOV
OFFSET CS; 170002
DI,BP
; ES:DI NOW
--;>
END OF JOT AGAIN
BU I LD THE GOT.
~OlE
0021
0024
0026
BF D8AO
E8 0000 E
86
[ f
B8 0088
MOV
CALL
MOV
MOV
DI,GDT_LOC
GOT BLD
BP,OI
AX, GOT_LEN
SAVE THE ES:DI
POINTER
AX '"
LENGTH Of THE GOT
~
0029
AB
STOSW
PUT THAT IN THe LIMIT FIELD
002A
0020
B8 D8AO
AB
MOV
STOSW
AX, GDT_LOC
AX.
=
LOW WOI\D OF GOT ADDRESS
PUT THAT I N BASE FIELD -
LOW
002E
0031
88 0000
AB
MOV
STOSW
AX,O
AX = HIGH BYTE OF ADDRESS, AND
ACCESS RIGHTS B'I'TE IS UNDEFINED
SEGOV
ES
LOAD THE GDTR
0032
26
DB
026H
0033
Of
·
LGDT
DB
I
BP
J
OOFH
FROM TH I S AREA
0034
0034
8B 56 00
+ 770004
·
LABEL
MOV
BYTE
ox,
WORD PTR lBP]
0037
0034
0034
01
+
170005
·
·
LABEL
OHC
DB
BYTE
OfFSET CS: 110004
OOlH
0037
Olle
OFfSET CS:??OOO5
0037
813
FD
MOV
DI, BP
RESTORE THE ES;DI
POINTER
0039
AB
STOSW
003A
AB
STOSW
0038
8B FD
MOV
01,
BP
PAGE
SW I TCH TO V I RTUAL MODE
0030
003E
0041
50
B8 0001
Of
·
POP
MOy
LMSW
DB
BP
AX, V
J
RTUAL_ENABLE
AX
OOFH
RESTORE BP
MACHINE STATUS WORD NEEDED TO
SWITCH TO VIRTUAL MODE
0042
0042
8B fO
+
110006
·
LABEL
MOV
BYTE
SI,AX
0044
+
110007
LABEL
BYTE
0042
ORc
OffSET GS: 710006
0042
01
DB
001H
0044
ORG
OffSET CS: 170007
0044
0045
0047
EA
0049 R
0040
JUMPFAR DONE,
SYS~ROM_CS
DB
OEAH
OW
(OFFSET DONE)
ow
SYS_ROM_CS
; MUST PURGE PRE-FETCH QUEUE
Jump far direct
to
th
i
s
offset
in th i s segment
0049
DONE:
0049
004B
0040
BO
85
E6 80
C3
MOV
OUT
RET
AL.85H
MFG_PORT ,AL
o
; <><><><><><><><><><><><><><>
; <><><>CHECKPO! NT 82 <><><><>
SYSTEM INITIALIZATION
004E
SYSINITl
[NDP
004E
CODE
ENDS
END
,~
Sys Init 5-83

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents