IBM AT 5170 Technical Reference page 344

Table of Contents

Advertisement

••• •••
•••
•••
•••
IBM Pe!"sonal Co",pute!" MACRO ASlle",ble!"
Version 2.00
1-10
BIOSI
----
06/10/85
INTERRUPT ISH BIOS ROUTINES
06-10-85
•• 3
9.6
..
,
"9
"0
•• 2
"3
'54
'"
'.6
9"
958
959
960
961
962
963
964
965
966
967
968
969
."
"0
"2
973
974
975
916
."
91.
919
9.0
,.,
'.2
9.3
9 ••
9 ••
986
987
988
989
990
991
992
993
•••
•9.
..
" 6
,
999
1pOO
100
I
1002
1003
1004
1005
1006
1007
1008
1009
1010
10 I
J
1012
lOt 3
1014
1015
1016
1017
1018
1019
1020
102 t
1022
1023
1024
1025
1026
1027
03CC
03CC
03CO
03CE
0301
0303
0305
0307
030A
030C
03DE
03EO
03E3
03E3
03E4
03E5
03E5
03E7
03E7
03E9
03EB
03ED
03EE
03EE
03EE
03F I
03F4
03F6
03F9
03FA
51
FA
E8 03E5 R
75 10
BO 01
E6 64
E8 03E5 R
75 07
8A C4
E6 60
E8 03E5
R
59
C3
2B C9
E4 64
24 02
EO FA
C3
B8 3031
E8 0000 E
86 C4
E8 0000 E
CF
PAGE
;--
----------
- - -
-----
- - - - -
---------
- -- - -
---------------------------------
- - - - -­
; GATE A21)
;
-
THIS ROUTINE CONTROLS A SIGNAL WHICH GATES ADDRESS BIT 20.
;
THE GATE A20 SIGNAL
I S AN OUTPUT OF THE 8042 SLAVE PROCESSOR •
ADDRESS BIT 20 SHOULD BE GATED ON BEFORE ENTERING PROTECTED MODE •
IT SHOULD BE GATED OFF AFTER ENTERING REAL MODE FROM PROTECTED
MODE.
INTERRUPTS ARE LEFT DISABLED ON EXIT.
INPUT
IAH) .. DOH
ADDRESS BIT 20 GATE OFF.
IA20 ALWAYS ZERO)
IAH)
=
DFH
ADDRESS BIT 20 GATE ON.
(A20 CONTROLLED BY 802861
OUTPUT
(ALl = OOH
OPERATION SUCCESSFUL.
8042 HAS ACCEPTED COMMAND.
(ALl
=
02H
FAILURE--8042 UNABLE TO ACCEPT COMMAND.
b~~~-~;~--------;~O~-----------------------------------------------------------
-
PUSH
CX
SAVE USERS
(CX)
CLI
DISABLE
INTERRUPTS WHILE USING 8042
CALL
EMPTY 8042
INSURE 8042
INPUT BUFFER EMPTY
JNZ
GATE A20 RETURN
EX I T IF 8042 UNABLE TO ACCEPT COMMAND
MOV
AL.ODlH -
8042 COMMAND TO WRITE OUTPUT PORT
OUT
STATUS PORT .AL
OUTPUT COMMAND TO 8042
CALL
EMPty 8042
WA I T FOR 8042 TO ACCEPT COMMAND
JNZ
GATE A20 RETURN
EX I T
IF 8042 UNABLE TO ACCEPT COMMAND
MOV
AL, AH
-
8042 PORT DATA
g~~L
~~~iY~8~~2
~~T~U~0~0~64~Ai~ ~gc~gi2
PORT DATA
8042 OUTPUT WILL SWITCH WITHIN 20 MICRO SECONDS OF ACCEPTING PORT OATA
GATE A20 RETURN:
-
POP
CX
; RESTORE USERS
(CX)
RET
I - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ---- - - - - - - - - - - - - - - - -- ­
I EMPTY 8042
-THIS ROUTINE WAITS FOR THE 8042
INPUT BUFFER TO EMPTY.
INPUT
NONE
OUTPUT
I
ALl: OOH
8042
I NPUT BUFFER EMPTY
(ZERO FLAG SET)
(AL): 02H
TIME OUT,
8042 INPUT BUFFER FULL
(NON-ZERO FLAG SETI
;
(CX)
- MODIFIED
;
~---
--------
-
--
- - - - - -
---
-
-----
- - - - - - - -
---------------------
- - - - - -- - - - - -
---
-
-
EMPTY 80421
-
SUB
CX,CX
(CX) =0, WILL BE USED AS TIME OUT VALUE
EMPTY L:
-
IN
AL.STATUS PORT
READ 8042 STATUS PORT
AND
AL, I NPT BUF FULL
TEST I NPUT BUFFER FUl.L FLAG (BI T
I)
LOOPNZ
EMPTY _L-
-
LOOP UNT I L BUFFER EMPTY OR T I ME OUT
RET
GATE_A20
ENDP
INT 15 H --
( FUNCTION 88 H -
I/O MEMORY SIZE DETERMINE)
---------------­
EXT MEMORY
-
THIS ROUTINE RETURNS
THE AMOUNT OF MEMORY
IN THE SYSTEM THAT IS
LOCATED STARTING AT THE l024K ADDRESSING RANGE, AS DETERMINED BY
THE POST ROUT I NES.
NOTE THAT THE SYSTEM MAY NOT BE ABLE TO USE 110 MEMORY UNLESS THERE
I S A FULL COMPLEMENT OF 512K OR 640 BYTES ON THE PLANAR.
TH ISS I ZE
SIZE
I
S STORED I N CMOS AT ADDRESS LOCA
T
IONS 30H AND 3 I H.
AH
=
88H
THE
I/O MEMORY SIZE VARIABLE IS SET DURING POWER ON
OIAGNOSTICS ACCORDING TO THE FOLLOWING ASSUMPTIONS:
I.
ALL
INSTALLED MEMORY
IS FUNCTIONAL.
2.
ALL MEMORY FROM 0 TO 640K MUST BE CONT
I
GUOUS.
OUTPUT
[AX
I
= NUMBER OF CONT I GUDUS
1 K BLOCKS OF MEMORY A
AVAILABLE STARTING AT ADDRESS
1024K.
;
-------
- - - -
-
- - - - - - - - - - - - -
-
- - - -- - -- - - -- -
---
- - - - - - - -
----------------
- - - - - - - - - --­
EXT_MEMORY
PRDC
MOV
~~O;M~~A~_M-S-LO·H+CMOS-~-~E~-~~E
J H
~~~R~~~EH~~H:7gwM~~6~~
CALL
XCHG
AL,AH
; PUT HIGH BYTE IN POSITION
(AHl
CALL
CMOS READ
;
GET THE LOW BYTE OF
1/0 MEMORY
IRET
-
I RETURN TO USER
EXT_MEMORY
ENDP
5-172
BIOSl

Advertisement

Table of Contents
loading

Table of Contents