IBM AT 5170 Technical Reference page 239

Table of Contents

Advertisement

IBM Personal
Computer MACRO Assembler
Version 2.00
1-10
TEST2 ----
06/10/85
POST TESTS AND
INITIALIZATION ROUTINES
06-10-65
919
048B E8 0000 E
980
048E 75 04
98
t
0490 FE CF
982
0492 75 F7
983
0494 BO AD
984
0496 E8 0000 E
985
0499 E4 60
986
049B BO EO
987
0490 E8 0000
988
04AO E8 0000
989
04A3 E4 60
990
04A5 A8 01
991
04A7
74 OA
992
993
04A9 80 OE 0016 R 08
99.
995
04AE BE 0000 E
996
04Bl
EB 60
997
04B3 E8 0000 E
998
04B6 E3 29
999
04B8 BO 37
1000 04BA E6 80
1001
04BC 80 FB AA
1002 04BF 75 20
1003
1004
1005
1006 04Cl
BO 38
1007 04C3 E6 80
1008
1009 04C5 BO AE
1010 04C7 E8 0000 E
101 1 04CA B9
19E4
1012 04CO E8 0000 E
1013 0400 E4 64
10140402 A8 01
1015 0404 7440
1016
1017 0406 BO 39
10180408 E6 80
1019
1020 040A E4 60
t 021
040C E8 0000 E
1022 040F EB 2A
1023
1024
1025
1026 04EI
FA
1027 04E2 BO AB
1028 04E4 E6 64
1029 04E6 2B C9
1030 04E8 B7 05
1031
04EA E4 64
1032 04EC A8 0 I
1033 04EE El
FA
1034 04FO 75 09
1035 04F2 FE CF
1036 04F4 75 F4
1037 04F6 BE 0000 E
1038 04F9 EB
18
1039 04FB E4 60
1040 04FD 3C 00
1041 04FF 74 OA
1042050180 OE 0016 RIO
1043
1044 0506 BE 0000 E
1045 0509 EB 08
1046 050B BE 0000 E
1047
1048 050E 80 OE 0016 R 20
1049
1050
1051 0513 E8 0000 E
1052
1053
1054
10550516 BO 3A
1056 0518 E6 80
1057
1058 051A BO FF
1059 05 I C E6 21
1060 051E FA
1061 051F BO 60
1062 0521
E8 0000 E
1063 0524 BO 45
1064 0526 E6 60
1065
1066
1067
1068 0528 B4 DO
1069 052A E8 0000 E
1070
1071
1072
1073 0520 2B CO
1074 052F 8E CO
1075 0531
B9 0008
1076 0534 OE
1077 0535
IF
1078 0536 BE 0000 E
1079 0539 BF 0020 R
1080 053C A5
1081 0530 47
1082 053E 47
1083 053F E2 FB
1084
1085
1086
1087
1088 0541
2B CO
1089 0543 8E CO
1090 0545 B9 0008
1091
0548 OE
1092 0549
IF
LOOPI:
GIO:
Gil:
F6:
F6A:
F6B:
F6C:
F60:
F7:
;----­
;----­
F7A:
CALL
OBF 42
CHECK FOR OUTPUT BUFFER FULL
JNZ
Gl0-
GO I F BUFFER FULL
DEC
BH
JNZ
LOOPI
"DV
AL,OIS KBO
o
I SABLE KEYBOARD
CALL
C6042 ­
IN
AL,PORT A
FLUSH
"DV
AL,KYBO-CLK DATA
GET THE CLOCK AND OAT A LINE S
CALL
C8042
-
­
CALL
OBF 42
WA I T FOR OUTPUT BUFFER FULL
IN
AL,PORT A
GET THE RESULTS
TEST
AL,KYBO-CLK
KEYBOARD CLOCK MUST BE LOW
JZ
Gil
­
DR
<><> <> <> <> <> <><><><><> <> <> <> <>
<><>
KEYBOARD CLOCK HIGH
<><>
"OV
S I ,OFFSET E304
DISPLAY 304 ERROR
J"P
SHORT F60
REPORT ERROR
CALL
KBO RESET
I SSUE RESET TO KEYBOARD
JCXZ
Fb -
PR' NT ERROR MESSAGE
I F NO 1NTERRUPT
"OV
AL,37H
<><> <><> <> <><> <> <> <> <><>
OUT
MFG PORT ,AL
<><>
CHECKPOINT
37
<><>
C"P
BL,KB OK
SCAN CODE AS EXPECTED?
JNE
Fb
-
NO -
01 SPLAY ERROR MESSAGE
CHECK FOR STUCK KEYS
"OV
AL ,38H
<><> <> <> <><><> <> <> <> <><>
OUT
MFG_PORT ,AL
<><>
CHECKPOINT
36
<><>
"OV
AL ,ENA KBO
ASSURE KEYBOARD ENABLED
CALL
C8042 -
I SSUE THE COMMAND
"OV
CX,6628
COUNT FOR
100 MILLISECONDS
CALL
WAITF
DELAY FOR A WH I LE
IN
AL,STATUS PORT
CHECK FOR STUCK KEYS
TEST
AL, OUT BUF FULL
OUT BUFFER FULL?
JE
YES -
CONTI NUE TESTI NG
F7
-
­
"DV
AL,39H
<><> <> <> <> <> <> <> <> <> <> <>
OUT
MFG_PORT ,AL
<><>
CHECKPOINT
39
<><>
IN
AL,PORT A
GET THE SCAN CODE
CALL
XPC BYTE
CONVERT AND PR I NT
J"P
SHORT F6C
CONT INUE
KEYBOARD ERROR TRY TO DETERMINE IF 8042
INTERFACE IS WORKING
CLl
"DV
AL,INTR FACE CK
COMMAND TO 8042
DUT
STATUS PORT ,AL
SUB
CX ,CX ­
"OV
BH,05
WA I T FOR OUTPUT BUFFER FULL
IN
AL,STATUS PORT
TEST
AL, OUT BUF FULL
8042 FINISHED TEST?
LOOPZ
F6A
-
­
JNZ
FbB
I GO CHECK RESULTS
DEC
BH
JNZ
Fb.
TRY AGAIN
"OV
51 ,OFFSET E303
INDICATE PLANAR FAILURE
J"P
SHORT F60
(REMOVE KEYBOARD TRY AGAIN)
IN
AL,PORT A
GET THE RESULTS OF INTERFACE TEST
C"P
AL,O
-
IS THE
INTERFACE OK?
JZ
FbC
OR
(lMFG_ERR _FLAG+ I ,KY_SYS_FA I L ;
<><><><><><><><><><><><>
;
<><>
KEYBOAROI SYSTEM
"DV
S I, OFFSET E303
;
PLANAR FAILURE
J"P
SHORT F60
; GO I F YES
"DV
S I, OFFSET E30 I
; GET MESSAGE ADDRESS
OR
<><> <> <> <> <> <> <><><> <> <> <>
<><>
KEYBOARD FA I LED
CALL
; PR I NT MESSAGE ON SCREEN
INITIALIZE 8042 TO HONOR KEY LOCK
"OV
AL ,3AH
<><><><><><> <> <> <> <> <><>
OUT
MFG_PORT ,AL
<><>
CHECKPOINT
3A
<><>
"OV
AL,OFFH
o
I SABLE INTERRUPTS
OUT
INTAO 1 ,AL
CLl
"OV
AL,WRITE 8042 LOC
WR I TE 8042 MEMORY COMMAND
CALL
C8042
-
-
I SSUE THE COMMAND
"OV
AL,45H
SET SYSTEM FLAG -
OUTBUF INTERRUPT ­
OUT
PORT_A ,AL
PC 1 COMPATIBILITY
RESET
INHIBIT OVER RIDE
OEGATE ADDRESS LINE 20
"OV
AH, 0 I SABLE B I T20
SET COMMAND IN AH
CALL
GATE_A20
-
I SSUE THE COMMAND
SETUP HARDWARE INTERRUPT VECTOR TABLE LEVEL 0-7
SUB
AX,AX
MOV
ES,AX
MOV
CX, 08
GET VECTOR COUNT
PUSH
CS
SETUP OS SEGMENT REG I STER
PDP
OS
MOV
S I ,OFFSET VECTOR TABLE
MOV
01 ,OFFSET (lINT_PTR
MOVSW
INC
0 I
; SK I P OVER SEGMENT
INC
01
LOOP
F7A
SETUP HARDWARE INTERRUPT VECTORS LEVEL 6-15
(VECTORS START AT INT 70Hl
ASSUME
ES:ABSO
SUB
AX,AX
"DV
ES,AX
"DV
CX,08
GET VECTOR COUNT
PUSH
CS
SETUP OS SEGMENT REG I STER
POP
DS
TEST2
5-67

Advertisement

Table of Contents
loading

Table of Contents