IBM 5170 Technical Reference page 300

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

--------
- -
-------
--
---------------------------------------------
--
--------
---
041C
E6 AO
041E
EB 00
0420
8A C3
0422
E6 Al
0424
BO 02
0426
EB 00
0428
E6 Al
042A
EB 00
042C
BO 01
042E
E6 Al
0430
EB 00
0432
BO FF
0434
E6 Al
01~36
26: c1 44
043C
26: C6 44
0441
26: C7 44
0441
26: c6 44
044C
26: c7 44
0452
88 0001
0455
OF
0456
0456
8B FO
0458
0456
0456
01
0458
0458
EA
0459
0450 R
D45B
0038
0450
0450
B8 0018
0460
8E 08
0462
B8 0020
0465
8E CO
0467
B8 0028
046A
8E DO
046C
5B
0460
83 C4 04
0470
6B
0471
0030
0473
53
0474
CB
0475
0475
0475
F8
0476
E9 004F R
0479
0479
0479
CF
047A
047A
OUT
I NTBOO,AL
EDGE, INTERVAL·6,MASTER, ICW4 NEEDED
JMP
SHORT $+2
MOV
AL,BL
HARDWARE INTiS START AT IfolT
II
(BLl
OUT
INTB01,AL
SEND ICW2
MOV
AL,02H
JMP
SHORT $+2
OUT
INTB01,AL
SEfolD ICW3 - SLAVE LEVEL 2
JMP
SHORT $+2
MOV
AL,OlH
OUT
INTB01,AL
SEND ICW4 - SLAVE,8066 MODE
JMP
SHORT $+2
MOY
AL,OFFH
OUT
I NTB01, AL
MASK Off ALL INTERRUPTS
; SETUP BIOS CODE SEGMENT DESCRI PTOR
;
_.
--
-
-_.
-
------------
---
----------------------------------------------------­
38 FFff
MOV
E5:
[51 I.
BI O_CS. SEG.lIMI T ,MAX.SEC.LEN
; SET LENGTH
3C OF
MOV
E5:[SI].BIO.CS.BASE_HI.BYTE,CSEG@.HI
; SET HIGH BYTE OF CS=OF
3A 0000
MOV
ES: [SI}.BIO.CS.BASCLO.WORD,CSEG@.LO
; SET LOW WORD OF CS=O
; SET ACCESS RIGHTS BYTE
3D 9B
MOV
ES:
[51
J.
BIO.CS. DATA.ACC.R I GHTS, CPLO.CODE.ACCESS
3E 0000
MOV
E5:[SI ].BIO.CS.DATA.RESERVED,O
; ZERO RESERVED AREA
; ENABLE PROTECTED MODE
MOV
AX, V I RTUAL ENABLE
; MACH I NE STATUS WORD NEEDED TO
LMSW
AX
-
;
SW I TCH TO V I RTUAl MODE
+
DB
OOFH
+ ??OOlA LABEL
BYTE
+
MOV
SI,AX
+
110018 LABEL
BYTE
+
ORG
OFFSET CS: ??OOlA
DB
00lH
ORG
OffSET CS: ??0018
JUMPFAR VMODE,BIO.CS
; MUST PURGE PRE-FETCH QUEUE
DB
OEAH
; Jump far
dl
rect
OW
(OFFSET VMODE)
;
to th i s offset
OW
BIO.CS
in thiS segment
VMODE:
~ -SE~U;-USER-SEG;:;EN;
-REG
7S~ERS
--------------.--------------------------------­
;
-------------
----------------------------
------------------ ----------
-------­
MOV
AX,
USER OS
SETUP USER
I
S DATA SEGMENT
MOY
DS,AX
­
MOV
AX,USER.ES
SETUP USER'S EXTRA SEGMENT
MOV
ES,AX
MOV
AX, USER.SS
SETUP USER'S STACK SEGMENT
MOV
SS,AX
;
PUT TRANSFER ADDRESS ON THE STACK AND RETURN TO THE USER
;
--
-- - --
------------------------------_.-------
-- - - --
---
-
--
-- -
-------
-
---
----­
POP
BX
GET RETURN
I
P FROM THE STACK
ADD
SP,4
NORMALIZE STACK POINTER
I PUSH
USER CS
SET STACK fOR A RETURN FAR
DB
D68H·
OW
~~ER_C5
PUSH
RET
RETURN TO USER IN VIRTUAL MODE
x.V I RTUAL
ENDP
DEVICE BUSY AND INTERRUPT COMPLETE -----------------------­
THIS ROUTINE IS A TEMPORY HANDLER FOR DEVICE BUSY
AND I NTERRUPT COMPLETE
INPUT
SEE PROLOG
6EV~CE:;USY-----PR~~----NEAR------------------------------------
CLC
TURN CARRY OFf
JMP
Cl F
RETURN WITH CARRY FLAG
DEV ICE_BUSY
ENDP
I NT_COMPLETE
PROC
NEAR
I RET
RETURN
I NT_COMPLETE
ENDP
CODE
ENDS
END
5-158 BIOS 1

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents