IBM 5170 Technical Reference page 222

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

SET REG I STERS TO A KNOWN VALUE AND
PUSH ALL.
RESET THE REGISTERS POPALL
AND VERI FY
0142
0142
BO F5
MOV
AL,OF5H
; <><><><><><><><><><><><><><>
0144
E6 80
OUT
MFG_PORT, AL
; <><><>CHECKPO I NT F5 <><><><>
0146
B8 0001
MOV
AX,01
SET
AX='
0149
88 08
MOV
BX,AX
SET 8X=2
0148
INC
BX
014C
88
'"
C8
MOV
CX,BX
SET CX=3
014E
41
INC
ex
014F
88 01
MOV
OX,CX
0151
42
INC
ox
SET OX=4
0152
8B FA
MOV
OI,OX
0154
47
INC
01
SET 01=5
0155
8B F7
MOV
SI,Ot
0157
46
INC
51
SET 51=6
0158
55
PUSH
BP
SAVE THE BP REG I STER
0159
88
EE
MOV
SP, SI
SET SP"'7
0158
45
INC
BP
PUSHA
I SSUE THE PUSH ALL COMMAND
015C
60
DB
060H
0150
28 CO
SUB
AX,AX
CLEAR ALL REGS
015F
88 08
MOV
8X,AX
0161
88 C8
MOV
CX,AX
0163
88 DO
MOV
OX,AX
0165
88 F8
MOV
OI,AX
0167
88 FO
MOV
SI,AX
0169
88 E8
MOV
8P,AX
POPA
GET THE REGISTERS BACK
0168
61
OB
061H
016C
83 Fa 07
eMP
BP,07
BP SHOULD
BE 7
016F
50
POP
BP
RESTORE BP
0170
75 21
JNZ
ERROR_EX I
T1
GO I F NOT
0172
30 0001
eMP
AX
SHOULD BE ,
AX,O'
0175
75 1C
JNZ
ERROR_EX I
T1
GO IF NOT
0177
83 FB 02
eMP
BX,02
BX SHOULD BE 2
017A
75 17
JNZ
ERROR_EXIT'
GO IF NOT
017C
83 F9 03
eMP
CX,03
CX SHOULD BE 3
017F
75 12
JNZ
ERROR_EXITl
GO I F NOT
0181
83 FA 04
eMP
OX,04
OX SHOULD BE 4
0184
75 00
JNZ
ERROR_EX I
T1
GO IF NOT
0186
83 FF 05
eMP
01,05
or
SHOULD BE 5
0189
75 08
JNZ
ERROR EXITl
GO I F NOT
0188
83 FE 06
eMP
51,06-
51 SHOULD BE
6
018E
75 03
JNZ
ERROR_EX I T 1
GO I F NOT
0190
E8 04 90
JMP
T7_10
;-----------ERROR EXIT
0193
ERROR_EXl
T1:
0193
E9 02EA R
JMP
ERROR_EX
I
T
;
---------
-----
-----
-
-
-------
-
------------------­
VER I FY ACCESS RIGHTS FUNCT
I
ON CORRECTLY
OESCR
I
PT I ON
SET ACCESS RIGHTS Of' OESCR I PTER TO
READ ONLY.
VERI FY THE VERW/VERR INSTR
ACCESS A READ ONLY WITH A WRITE AND
VERI FY AN EXCEPTION INT 13
0196
0198
019A
01AO
01A5
80
E6
C7
C6
C7
F6
80
06
06
06
0048
004C
004A
FFFF
00
FOOO
T7_10:
MOV
OUT
MOV
MOV
MOV
AL,OF6H
; <><><><><><><><><><><><><><>
MfG_PORT ,AL
; <><><>CHECKPO I NT F6 <><><><>
OS; ES_ TEMP. SEG_LI MIT, MA>CSEG_LEN
; SET SEGMEtH TO 0 FF FFH
BYTE PTR OS: (ES_TEMP. BASE_H I_BYTE) ,0 ;SET THE ADDRESS
OS: ES_ TEMP. BASE_LO_WORD, OFOOOH
01AS
OlAE
B8
8E
0048
co
MOV
MOV
AX,
ES_TEMP
ES,AX
;
;
LOAD ES REG I STER
TH
I
S SEGMENT SHOULD BE WR I TEABLE
;------- ­
INSURE ACCESS RIGHTS MAY BE WRITTEN
01S0
01S1
0182
0182
0184
0182
01B2
0184
3E
OF
88
00
E8
+
:
:
110014
110015
SEGOV
DB
VERW
DB
LABEL
MDV
LABEL
ORG
DB
ORG
OS
03EH
AX
OOFH
BYTE
BP,AX
BYTE
OFFSET CS: ??0014
OOOH
OffSET CS:??0015
SET
SEGMENT OVERJDE TO START OF TABLE
CHECK THE ACCESS RIGHTS Of' ES_TEMP
0184
75 DO
JNZ
ERROR_EX
I
Tl
; ERROR I F SEGMENT CAN NOT WR I TE
;------- SET ACCESS RIGHTS TO READ ONLY
0186
C6 06 0040 91
MOV
BYTE PTR DS:(ES_TEMP.DATA_ACC_RIGHTS),91H
01BB
88 0048
MOV
AX,
ES_TEMP
LOAD ES REG J STER
018E
8E CO
MOV
ES,AX
SEGOV
OS
SET SEGMENT OVERJOE TO START Of TABLE
01CO
3E
DB
03EH
VERW
AX
CHECK THE ACCESS RIGHTS OF ES_TEMP
01Cl
OF
+
DB
OOFH
01C2
+ 1?0017
LABEL
BYTE
01C2
88 E8
+
MOV
BP,AX
01C4
+ ??0018
LABEL
BYTE
01C2
+
ORG
OFFSET CS: 1?0017
01C2
00
DB
OOOH
01C4
ORG
OFFSET CS:??0018
01C4
74 CD
JZ
ERROR_EX I Tl
ERROR I F SEGMENT IS WR I TEABLE
01C6
B8 0048
MDV
AX, ES_TEMP
INSURE THAT SEGMENT IS READABLE
SEGOV
OS
01C9
3E
DB
03EH
VERR
AX
01CA
OF
+
DB
OOFH
01CS
+ ??OOlA
LABEL
BYTE
01C8
8B
EO
+
MOV
SP,AX
01CO
:
??OO,S
LABEL
BYTE
01C8
ORG
OFFSET
CS:
??OOlA
01C8
00
DB
OOOH
01CO
ORG
OFFSET CS;??001B
01CO
75 C4
JNZ
ERROR_EX I Tl
GO I F SEGMENT NOT READABLE
;------- CAUSE AN EXCEPTION 13 INTERRUPT
OlCF
80 90
MDV
AL,09DH
SET EXCEPTION fLAG
0101
E6 88
OUT
DMA_PAGE+OAH, AL
FOR INT 13
0103
26 F6
SUB
SI,SI
5-80 Test 7

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents