IBM 5170 Technical Reference page 292

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

1.
THE FIRST DESCRIPTOR IS THE REQUIRED DUMMY.
(USER INITIALIZED TO 0)
2.
THE SECOND DESCRI PTOR POINTS TO THE GOT TABLE AS
A DATA SEGMENT.
(USER INITIALIZED TO 0)
3.
THE THIRD
DESCRIPTOR IS THE DESCRIPTOR THAT POINTS
TO THE SOURCE TO BE MOVED.
(FROM)
(USER INITIALIZED)
4.
THE FOURTH DESCRIPTOR IS THE DESCRIPTOR THAT POINTS
TO THE DESTINATION.
(TO)
(USER INITIALIZED)
5.
THE FIFTH I S A DESCR I PTOR THAT TH I S FUNCT I ON USES
TO CREATE A VIRTUAL CODE SEGMENT
(USER INITIALIZED TO 0)
6.
THE SIXTH IS A DESCRIPTOR THAT THIS FUNCTION USES
TO CREATE A VIRTUAL STACK SEGMENT.
(POINTS TO USERS
STACK)
(USER INITIALIZED TO 0)
PAGE
;---~--
INT 15 (FUNCTION 87H CONTINUED)
~~----------------------;
AH=87
(FUNCTION CALL)
ES;SI = LOCATION OF THE GDT TABLE BUILD BY ROUTINE
USING THIS FUNCTION.
CX = WORD COUNT Of STORAGE BLOCK TO BE MOVE.
NOTE: MAX COUNT
=
8000H
32K WORDS
EXIT PARAMETERS:
AH '"
0
IF SUtCESSFUL
AH ::;
1
I F RAM PAR I TY (PAR I TY ERROR I
S
CLEARED)
AH:= 2
If EXCEPTION INTERRUPT ERROR
AH'"
3
If GATE ADDRESS LINE 20 FAILED
ALL REG I STER ARE RESTORED EXCEPT
AX.
CARRY FLAG -:: 1 I f
ERROR
ZERO FLAG
=
1 I F SUCCESSFUL
CONS I DERAT IONS:
NO INTERRUPTS ARE AllOWED.
TIME OF DAY (ADJUSTED BY USER???)
DESCRIPTION:
1.
CLI
(NO I NTERRU PTS ALLOWED) WH ILE TH I S FUNCT t ON IS
EXECUT INC.
2.
ADDRESS LINE 20 IS GATED ACTIVE.
:
3.
THE lOT (INTERRUPT DESCRI PTOR TABLE)
IS ROM RESIDENT:
4.
THE CURRENT USER STACK SEGMENT AND OFFSET IS SAVED.
:
5.
THE GDTR IS LOADED WITH THE OFFSET INTO ES:SI
6.
THE IDTR SELECTOR. I S ROM RES I DENT AND I S LOADED.
7.
THE PROCESSOR I S PUT I N V I RTUAl MODE
8.
DATA SEGMENT IS LOADED WITH THE SOURCE DESCRI PTOR
Y.
EXTRA SEGMENT IS LOADED WITH THE TARGET DESCRIPTOR
10.
DS:SI
(SOURCE) ES:DI (TARGET) REP MOVSW IS EXECUTED
11.
SHUTDOWN 09 I S EXECUTED.
12.
STACK SEGMENT/OffSET I S RESTORED.
13.
ADDRESS LINE 20 IS DECATED.
14.
I NTERRUPTS ARE ALLOWED
page
THE fOLLOWING DIAGRAM DEPICTS THE ORGANIZATION
Of GOT.
G D T
(ES: S 1)--»
+00
i
DUMMY
i
1
1
+08
1----------------1
I
GOT LOC
I
1
1
+10
1----------------1
I
SOURCE
I
I
GOT
I
+18
1----------------1
!
TARGET
I
!
GOT
I
+20
1----------------1
I
BIOS
I
,
CS
J
+28
1----------------1
I
SS
I
! ----------------!
SAMPLE OF SOURCE OR TARGET DESCR! PTOR
SOURCE_ TARGET_OEF
STRue
SEG liMIT
BASE LO WORD
BASE=H I=BYTE
DATA ACC RIGHTS
DATA=RESERVED
OW
OW
DB
DB
OW
SEGMENT liMIT (1-65536 BYTES)
24 BIT SEGMENT PHYS I CAL
ADDRESS
(0
TO (16M-l))
ACCESS RIGHTS BYTE
RESERVED WORD
SOURCE_TARGET
ENDS
THE GLOBAL DESCRIPTOR TABLE (ACTUAL LOCATION POINTED TO BY ES;SI)
BLOCKMDVE_GOT_DEF
STRUC
0000
0008
0010
0018
0020
0028
00 00 00 00 00 00
00 00
00 00 00 00 00 00
00 00
00 00 00 00
00
00
00 00
00 00 00 00 00 00
00 00
00 00 00 00 00 00
00 00
00 00 00 00 00 00
00 00
DUMMY
DQ
CGOT_LOC DQ
SOURCE
OQ
TARGET
DQ
B 10S_CS
DQ
TEMP_SS
DQ
FIRST DESCR
I
PTOR NOT ACCESS I BlE
LOCATION OF CALLING ROUTINE GOT
SOURCE OESeR I PTOR
TARGET DEseRI PTOR
B I OS CODE OEseR I PTOR
STACK OEseR I PTOR
BLOCKMOVE_GDT
_OEf
ENDS
;
-----
~-~ ~-------
--
~
---
-~ ~-~
---- ----
.--
---
.---
-------~--------. ~---
---­
5-150 BIOS 1
0030

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents