IBM AT 5170 Technical Reference page 259

Table of Contents

Advertisement

IBM Per-sonal Comput.er MACRO Assembler
VerSIon 2.00
1-7
TEST4 ---- 06110/85
POST AND BIOS UTILITY ROUTINES
06-10-85
636
PACE
639
;--- 011
--
tNT
??
H --
(
IRQ LEVEL
??
1 ------------------------------------­
640
TEMPORARY
INTERRUPT SERV I CE ROUT I NE FOR POST
641
642
THIS ROUTINE IS ALSO LEFT
IN PLACE AFTER THE POWER ON DIACNOSTICS
643
TO SERVICE UNUSED INTERRUPT VECTORS.
LOCATION
"~INTR
FLAG"
WILL
644
CONTAIN EITHER;
­
645
I! LEVEL OF HARDWARE
I NTERRUPT THAT CAUSED CODE TO BE EXECUTED. OR
646
21
"FF" FOR A NON-HARDWARE
INTERRUPT THAT WAS EXECUTED ACCIDENTALLY.
647
I - - -- - - - - - --. - - - - - - - - - - - - - - - -- --- - ---------- - - - - - - - - - - - - - - - - - - - -- --- - - - - - - - - - - ­
646
649
0289
011
PROC
NEAR
650
0289 50
PUSH
AX
SAVE RECI STER AX CONTENTS
651
028A 53
PUSH
8X
652
0288 80 OB
MOV
AL.OBH
READ IN-SERVICE REGISTER
653
0280 E6 20
OUT
I NTAOO. AL
(FINO OUT WHAT LEVEL BEING
654
028F E8 00
SERV ICEDI
"MP
655
0291 E4 20
IN
AL,INTAOO
GET LEVEL
'·2
656
0293 8A EO
MOV
AH,AL
SAVE IT
657
0295 OA C4
OR
AL,AH
OO?
INO HARDWARE ISR ACTIVE)
658
0297
75 04
"NZ
HW_INT
659
660
0299 84 FF
MOV
AH.OFFH
66!
0298 EB 2F
"MP
SHORT SET_INTR_FLAG
SET FLAG TO "FF"
IF NON-HARDWARE
662
0290
663
0290 BO OB
MOV
AL,OBH
READ IN-SERVICE REGISTER FROM
664
029F E6 AO
OUT
INTBOO,AL
INTERRUPT CH I P #2
665
02A 1 EB 00
"MP
I/O DELAY
' _ 2
666
02A3 E4 AO
IN
AL,INT800
CHECK THE SECOND
INTERRUPT CH I P
667
02A5 8A F8
MOV
SH,AL
SAVE
IT
668
02A 1 OA FF
OR
BH,BH
669
02A9 14
'0
NOT_SEC
CONT I NUE I F NOT
670
"Z
611
02A8 E4 AI
IN
AL,INTBOI
GET SECOND I NTERRUPT MASK
612
02Ao OA C7
OR
AL,BH
MASK OFF LEVEL BE I NG SERV I CEO
673
02AF E8 00
"MP
I/O DELAY
674
0281 E6 Al
OUT
INTB01,AL
'·2
675
0283 BO 20
NOV
AL,EOI
SEND EO I TO SECOND CH J P
676
0285 EB 00
"MP
I/O DELAY
677
0287 E6 AO
OUT
INT800,AL
'.2
678
0289 E8 00
"NP
SHORT
IS_SEC
679
0288
NOT SEC:
680
0288 E4 2 I
-
IN
AL,INTAOI
CET CURRENT MASK VALUE
68!
0280 EB 00
"MP
J 10 DELAY
682
028F 80 E4 FB
AND
AH,OFSH
00 NOT DI SABLE SECOND CONTROLLER
683
02C2 OA C4
OR
AL,AH
MASK OFF LEVEL 8E I NG SERV I CEO
684
02C4 E6 2!
OUT
INTAOI,AL
;
SET NEW I NTERRUPT MASK
685
02C6 E8 00
"MP
I
I/O DELAY
'.2
'.2
686
02C8
681
02C8 80 20
MOV
AL,EOI
688
02CA E6 20
OUT
I NTAOO, AL
689
02CC
SET I NTR FLAG:
690
02CC 5B
-
Fiop
8X
RESTORE IBX)
FROM STACK
691
02CO IE
PUSH
OS
SAVE ACTIVE
(OS)
692
02CE ES 0034 R
CALL
DDS
SET DATA SECMENT
693
0201
se
26 006B R
MOV
.INTR FLAG.AH
SET FLAG
694
0205' F
POP
OS
­
695
0206 58
POP
AX
RESTORE REG I STER AX CONTENTS
696
0207
DUMMY RETURN
1:
NEED I RET FOR VECTOR TABlE
697
0207 CF
-
I RET ­
696
699
0208
OIl
ENOP
700
701
1--- HARDWARE INT
11
H --
j
IRQ LEVEL
9 )
-- TO INT
OA H -------- ­
702
;
REDIRECT SLAVE INTERRUPT 9 TO INTERRUPT LEVEL 2
703
I
THIS ROUTINE FIELDS LEVEL 9
INTERRUPTS AND
70.
;
CONTROL I S PASSED TO MASTER
INTERRUPT lEVEL 2
70'
;
-
------
----- - - - - - - - - - - - - - - -
---------
- - ---.- - - - -- - - - - - - - - - _.-.--- - - -
------
- - - - ­
706
707
0208
RE_D I RECT PROC
NEAR
706
0208 50
PUSH
AX
I
SAVE
(AX)
709
0209 SO 20
MOV
AL,EOI
710
02DS E6 AO
OUT
INTBOO,AL
EO I
TO S!,.AVE I NTERRUPT CONTROLLER
711
0200 58
POP
AX
RESTORE
I AX I
712
020E CD OA
INT
OAH
C I VE CONTROL TO HARDWARE lEVEL 2
113
714
02EO
CF
IRET
;
RETURN
715
116
02El
RE_D I RECT ENOP
117
116
;--- HARDWARE INT
15 H --
(
IRQ lEVEL 13
I
-.-------------------- ------------­
719
;
SERVICE X287
INTERRUPTS
720
THIS ROUTINE FIELDS X287
INTERRUPTS AND CONTROL
121
I S PASSED TO THE Nidi
INTERRUPT HANDLER FOR
722
COMPATIBILITY.
723
;-
-----------
-
----
- - - - -
-------------------
-
--
- - - -- - - -
-
- - -
---
_
..
-
--
- -
----- --
- - ­
72.
725
02El
INT_2S7 PROC
NEAR
726
02Ef
50
PUSH
AX
I
SAVE
(AX)
727
02E2 32 CO
XOR
AL,AL
726
02E4 E6 FO
OUT
X267,AL
I
REMOVE THE I NTERRUPT REQUEST
729
730
02EI!> BO 20
MOV
AL,EOI
ENABLE THE INTERRUPT
731
02E8 E6 AO
OUT
INTBOO,AL
THE SLAVE
732
02EA E6 20
OUT
INT"OO,AL
THE MASTER
733
02EC 58
POP
AX
RESTORE
(AXI
734
02EO CD 02
INT
02H
GIVE CONTROL TO NM I
735
736
02EF CF
RETURN
737
736
02FO
INT_287 ENOP
739
7.0
02FO
PROC_SHUTDOWN
PROC
COMMON 80286 SHUTDOWN '''IT
7.,
7'2
02FO SO FE
MOV
AL, SHUT CMO
SHUTDOWN COMMAND
743
02F2 E6 64
OUT
STATUS_150RT .AL
SEND TO KEYSOARD CONTROL PORT
7 ••
02F4
PRoe_SI
7.5
02F4 F4
HLT
WAIT FOR 80286 RESET
7.6
02F5 EB FD
"MP
PROC_S
INSURE HALT
7.7
7.6
02F7
PROC SHUTDOWN
ENQP
149
02F7
COOE-
ENDS
150
END
TEST4
5-87

Advertisement

Table of Contents
loading

Table of Contents