IBM 5170 Technical Reference page 293

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

ASSUME
ASSUME
CS:CODE
OS:DATA
0183
BLOCKMOVE
PROC
NEAR
;------­
INITIALIZE FOR VIRTUAL MODE
0183
0184
0185
0186
0187
FA
Fe
60
06
1E
ell
elO
PUSHA
DB
PUSH
PUSH
060H
ES
OS
NO I NTERRUPTS ALLOWED
SET DIRECTION
SAVE GENERAL PURPOSE REGS
SAVE EXTRA SEGMENT
; ------­ CLEAR EXCEPT I ON ERROR FLAG
~
0188
018A
2A CO
E6 80
SUB
OUT
AL,AL
MFG_PORT. AL
SET TO 0
;------- GATE ADDRESS BIT 20 ON
018C
01aE
0191
0193
0195
0197
0199
B4 OF
E8 03BO R
3C 00
74 07
BO 03
E6 80
E9 0270 R
MOV
CALL
CMP
JZ
MOV
OUT
JMP
AH, ENABLE B I T20
GATE A20 -
AL,O­
BL4
AL,03H
MFG_PORT, AL
SHUT9
WAS THE COMMAND ACCEPTED?
GO
I F YES
SET THE ERROR FLAG
EARLY EXIT
; -------­ SET SHUDOWN RETURN AD DR
019C
019E
01AO
01A2
01A4
BO 8F
E6 70
EB 00
BO 09
E6 71
BL4:
MOV
OUT
JMP
MOV
OUT
AL, SHUT _DOWN
CMOS_PORT, AL
SHORT $+2
AL,9
CMOS_PORT+1,AL
SET THE SHUTDOWN BYTE
TO SHUT DOWN 9
10 DELAY
~
01A6
01A8
01AA
01AC
OlAF
OlAF
0181
OlAF
OlAF
01B1
01Bl
01B2
01B5
01B5
01B7
01B5
01B5
01B5
01B7
8C CO
8B DE
8A F4
80 E6 FO
DO EE
eo
0"
80 E4 OF
01
EO
e1
+ ??OOOO
+
+ ??0001
+
+ ??0003
+
+ ??0004
+
:
??0005
MOV
AX, ES
MOV
BX, SI
MOV
DH,AH
AND
DH,OFOH
ISHR
DH,4
LABEL
BYTE
SHR
DH,1
LABEL
BYTE
ORG
OFFSET CS: ??OOOO
DB
OCOH
ORG
OFFSET CS: ??0001
DB
"
AND
AH,OOFH
'ISHL
AX,4
LABEL
BYTE
SHL
AX,1
LABEL
BYTE
ORG
OFFSET CS:??0003
LABEL
NEAR
DB
OC1 H
ORG
OFFSET CS:??0004
GET THE CURRENT DATA SEGMENT
GET THE CURRENT OF FSET
DEVELOPE THE HIGH BYTE OF THE 24BIT AODR
USE ONLY THE HIGH NIBBLE
SHIFT RIGHT 4
STR I PHI GH NIBBLE FROM AH
SHIFT AX
0187
01B8
01BA
01BC
0"
03 08
73 02
FE C6
DB
ADD
JNC
INC
"
BX,AX
BL3A
DH
DEVELOPE THE LOW WORD ADDRESS
GO I F NO CARRY
INCREMENT THE HIGH BYTE ADORES
;
-------~ ~~~~=~~~=~~~:~~~=
01 BE
01C2
26:
88 74 OC
26:
89 5C OA
BL3A:
~~~=====~~~[~~I~~~DT_Loc.
BASE_H I_BYTE, DH
MOV
ES: [ S I ]. CGDT_LOC. BASE_LO_WORD, BX
;
;
SET THE HIGH BYTE
SET THE LOW WORD
01C6
01CC
26: C7 44 08 FFFF
26: C7 44 OE 0000
MOV
MOV
ES: [S
r ].
CGDT_LOC. SEG_L I MIT, MAX_SEG_LEN
ES:[SI].CGDT_LOC,DATA_RESERVEO,O
;
RESERVED
;
-------~ =~~~~=~~~=~~~=
0102
0105
0106
0107
0107
010A
0107
0107
010A
BO 02A1
R
2E
OF
8B 5E 00
01
+
+ ??0007
+
+ ??0008
+
~~~=====~~:~~;~ET
ROM lOT LOC
SEGOV
CS
-
-
DB
02EH
LIDT
[BP]
DB
OOFH
LABEL
BYTE
MOV
BX,WORD PTR [BP]
LABEL
BYTE
ORG
OFFSET CS:??0007
DB
001 H
ORG
OFFSET CS: ??0008
LOAD THE lOT
REG
I
STER FROM TH I S AREA
==========="'=
010A
010B
OlOC
010C
01DF
01DC
OlOC
010F
26
OF
8B 54 08
01
+
+
??OOOA
+
+
??OOOB
+
SEGOV
DB
LGOT
DB
LABEL
MOV
LABEL
ORG
DB
ORG
ES
LOAD THE GLOBAL OESCR I PTOR TABLE REG
026H
[ S I ] ,CGDT_LOC
OOFH
BYTE
OX, WORD PTR [S
I
J.
CGDT_LOC
BYTE
OFFSET CS:??OOOA
001 H
OFFSET CS:??OOOB
;------- SET THE DATA SEGMENT TO BIOS RAM
010F
E8 0000 E
CALL
DOS
;
SET OS TO DATA AREA
~
;-------- SAVE THE CALLING ROUTINE"S STACK
01E2
01E4
01 E7
01E9
8C DO
A3 0069 R
8B C4
A3 0067 R
MOV
MOV
MOV
MOV
AX,SS
10_ROM_SEG,AX
AX, SP
10_ROM_'NIT,AX
,
;
GET THE STACK SEGMENT
SAVE STACK SEGr"lENT
SAVE STACK PO INTER
PAGE
;-------- MAKE A 24 BIT ADDRESS OUT OF THE SS (SP REMAINS USER SP)
01 EC
01 EE
01 FO
01 F3
01F3
01F5
01F3
01F3
8C DO
8A F4
80 E6 FO
00 EE
eo
+ ??OOOC
+
+
??OOOO
+
MOV
MOV
AND
I SHR
LABEL
SHR
LABEL
ORG
DB
AX,SS
OH,AH
OH,OFOH
DH,4
BYTE
OH,1
BYTE
OFFSET CS: ??OOOC
OCOH
GET THE CURRENT STACK SEGMENT
DEVELOPE THE HIGH BYTE OF THE 24B I T ADOR
USE ONLY THE HIGH NIBBLE
SHI FT RIGHT 4
BIOS 1 5-151

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents