IBM 5170 Technical Reference page 298

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

03E1
EI3 00
JMP
SHORT $+2
10
OELAY
03E3
E4 71
IN
AL,CMOS_PORT+l
03E5
CF
I RET
RETURN TO USER
03E6
EXT MEMORY
ENDP
PAGE
I NT 15H (FUNCT I ON 89H
I ------------------- --- ----------­
PURPOSE:
THIS BIOS FUNCTION PROVIDES A MEANS TO THE USER TO
SWITCH INTO VIRTUAL (PROTECTED) MODE.
UPON COMPLETION
OF TH I S FUNCT
I ON THE PROCESSOR WILL BE I N
V I RTUAL
(PROTECTED) MODE AND CONTROL WILL BE TRANSFERED TO THE
CODE SEGMENT THAT WAS SPEC I F I ED BY THE USER.
ES:SI POINTS TO A DESCRIPTOR TABLE (GOT) BUILT BEFORE
I NTERRUPT I NG TO TH
I S FUNCT I ON.
H\ESE DESCR I PTORS ARE
ARE USED BY THIS FUNCTION TO INITIALIZE THE IDTR, THE
GDTR AND
TtIE
STACK SEGMENT SELECTOR.
THE DATA SEGMENT
( OS) SELECTOR AND THE EXTRA SEGMENT (ES) SELECTOR WILL
BE INITIALIZE TO DESCRIPTORS BUILT BY THE ROUTINE USING
THIS FUNCTION.
BH - OFfSET INTO THE INTERRUPT DESCRIPTOR TABLE
STATING WHERE THE FIRST EIGHT HARDWARE INTERRUPTS
WI LL BEGIN.
(
INTERRUPT LEVEL
1 I
BL - OfFSET INTO THE INTERRUPT DESCRIPTOR TABLE
STATING WHERE THE SECOND EIGHT HARDWARE
INTERRUPTS WILL BEGIN.
(
INTERRUPT LEVEL 2
)
THE DESCRI PTORS ARE DEFINED AS FOLLOWS:
1 .
TH E FIRST DESCR I PTOR
15
THE REQU I REO DUMMY.
(USER INITIALIZED TO
0)
2. THE SECOND DESCRIPTOR POINTS TO THE GOT TABLE AS
A DATA SEGMENT.
(USER INITIALIZED)
3.
THE TH I RD DESCR I PTOR PO I NTS TO THE USER DEF I NED
INTERRUPT DESCR I PTOR TABLE (lOT).
(USER INITIALIZED)
4. THE fORTH DESCRI PTOR POINTS TO THE USER'S DATA
SEGMENT (OS).
(USER INITIALIZED)
5.
THE FIfTH DESCR I PTOR PO I NTS TO THE USER
I
S EXTRA
SEGMENT (ES).
(USER INITIALIZED)
6.
THE
51
XTH DESCR I PTOR PO I NTS TO THE USER'S STACK
SEGMENT (SS).
(USER INITIALIZED)
7.
THE SEVENTH DESCR I PTOR PO I NTS TO THE COOE SEGMENT
THAT THIS FUNCTION WILL RETURN TO.
(USER INITIALIZED TO THE USER'S CODE SEGMENT.)
8.
THE EIGTH DESCRIPTOR IS USED BY THIS FUNCTION TO
ESTABLISH A CODE SEGMENT FOR ITSELF.
THIS IS
NEEDED SO THAT THIS FUNCTION CAN COMPLETE
IT'S
EXECUTION WHILE IN PROTECTED MODE.
WHEN CONTROL
GETS PASSED TO THE USER'S CODE TH I S DESCR I PTOR CAN
BE USED BY HI
H
I N ANY WAY HE CHOOSES,
NOTE -
EACH DESCRIPTOR MUST CONTAIN ALL THE NECESSARY
DATA
I.E. THE LlMITI
BASE ADDRESS AND THE ACCESS
RIGHTS
BYTE.
AH=88H
( FUNCT I ON CALL)
E$:SI
=
LOCATION OF THE GOT TABLE BUILD BY ROUTINE
USING THIS FUNCTION.
EXIT PARAMETERS:
A.H
=
0
I F SUCCESSFUL
ALL SEGMENT REGI STERS ARE CHANGED,
AX
AND
BP
DESTROYED
CONS I DERATIONS:
1.
NO BIOS AVAI LABLE TO USER.
USER MUST HANDLE ALL
10 COMMANDS.
2.
INTERRUPTS -
INTERRUPT VECTOR LOCATIONS MUST BE
MOVED.
DUE TO THE 286 RESERVED AREA.S.
THE
HARDWARE I NTERRUPT CONTROLLERS MUST BE RE
I N I TI ALI ZED
TO DEFINE LOCATIONS THAT DO NOT RESIDE IN THE 286
RESERVED AREAS.
3.
EXCEPT I ON
I NTERRUPT TABLE AND HANDLER MUST BE
INITIALIZED BY THE USER.
4.
THE INTERRUPT DESCRIPTOR TABLE MUST NOT OVERLAP
THE REAL MODE BIOS INTERRUPT DESCRI PTOR TABLE.
S.
THE FOLLOWING GIVES AN IDEA OF WHAT THE USER CODE
SHOULD LOOK LIKE WHEN INVOKING THIS FUNCTION.
Rea I mode
-~
..
>
"USER CODE"
MOV
AX, GOT SEGMENT
MOV
ES,AX
MOV
S I • GOT OFFSET
MOV
BH, HARDWARE I NT LEVEL
1
OfFSET
MOV
BL,IiARDWARE INT LEVEL 2 OFFSET
MOV
AH,88H
INT
15H
Vi
I"tua I mode
--->
"USER CODE"
DESCRI PTION:
1.
Cli
(NO INTERRUPTS ALLOWED) WHILE THIS FUNCTION IS
EXECUTING.
~
~: ~~~R~~~R~~~EU~~R
I
~T~~~E~E~~~~¥E
DESCR I PTOR IS
INITIALIZED.
4.
TIiE GDTR I S lOADED WI TH THE GOT BASE ADDRESS.
5.
THE lDTR
I
S LOADED WI TH THE lOT BASE ADDRESS.
6.
THE 8259 IS REINITIALIZED WITH THE NEW
I~TERRUPT
OFfSETS.
7.
THE PROCESSOR I S PUT
I
N V I RTUAL MODE WlTH THE CODE
SEGMENT DES I GNATED FOR TH I
5
FUNCT I ON.
8.
DATA SEGMENT IS LOADED WITH THE USER DEfiNED
SELECTOR FOR THE OS REGISTER.
9.
EXTRA SEGMENT IS LOADED WITH THE USER DEFINED
SELECTOR fOR THE ES REGISTER.
10.
STACK SEGMENT IS LOADED WITH THE USER DEFINED
SELECTOR fOR THE SS REGISTER.
1 1 •
CODE SEGMENT DESCR I PTOR SELECTOR VALUE ! S
SUBSTITUTED ON THE STACK FOR RETURN TO USER.
12. WE TRANSFER CONTROL TO THE USER
WI
TH INTERRUPTS
DISABLED •
.
-------------
-----------
-----
-
-
----
-------
--
------------------­
page
THE FOLLOWING DIAGRAM DEPICTS THE ORGANIZATION
OF GOT.
S·IS6 BIOS 1

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents