IBM Personal Computer MACRO Assembler
Version 2.00
POST ----- 01/10/86
SYSTEM POST AND BIOS PROCEDURES
I-I
01-10-86
;
-
-
-----
--
--- ----
-
----------
--- -------
---
---- -
-
----- ---
---
-
---
-
-
--
--
--
;----- FIRST, GET THE COUNT
PAGE 118,121
TITLE POST ----- 01/10/86
SYSTEM POST AND BIOS PROCEDURES
;
--
---
-----
-
-
-
--
------ -----
---
---
----
----
----
---
-
-----
--
----
----------
LOAD A BLOCK OF TEST CODE THROUGH THE KEYBOARD PORT
;
FOR MANUFACTUING TEST.
TH IS ROUTI NE WILL LOAD A TEST (MAX LENGTH=FAFFH)
THROUGH
;
THE KEYBOARD PORT. CODE WILL BE LOADED AT LOCA T I ON
0000: 0500. AFTER LOAD I NG, CONTROL WILL BE TRANSFERED
;
TO LOCATION 0000:0500. STACK WILL BE LOCATED ,JUST BELOW
THE TEST CODE. THIS ROUTINE ASSUMES THAT THE FRIST 2
BYTES TRANSFERED CONTA I N THE COUNT OF BYTES TO BE LOADED
;
(BYTE I =COUNT LOW, BYTE 2=COUNT HI. 1
; COPYR I GHT NOT I CE
; RETURN ADDRESS
; RETURN ADDRESS FOR DUMMY STACK
; KB FOR MEMORY 5 I ZE
( OCCH)
; FILL UNUSED LOCAT IONS WITH INTERRUPT 3
o
IFFFH
DUP
CS :CODE, 55 :CODE ,ES: ABSO ,OS :DATA
OEOOOH
o
'62X0851 COPR.
I BM 1986'
Cll
C24
, KB OK' ,CR
ASSUME
OW
OW
DB
DB
ORG
ORG
DB
THE
B I OS ROUT I NES ARE MEANT TO BE ACCESSED THROUGH
SOFTWARE INTERRUPTS ONLY.
ANY ADDRESSES PRESENT IN
THE LISTINGS
ARE INCLUDED
ONLY FOR
COMPLETENESS,
NOT FOR
REFERENCE.
APPL I CAT IONS WH I CH
REFERENCE
ABSOLUTE
ADDRESSES
WITH I N
THE
CODE
SEGMENT
VIOLATE THE STRUCTURE AND DESIGN OF BIOS.
ROM RES I DENT CODE
AI
BEEP
CONF TBL
CRT CHAR GEN
005-
-
DISK BASE
M5
-
M6
M1
MD TBL I
MD-TBL2
MD-TBL3
MD-TBL4
MD-TBL5
MD-TBL6
P
0
R
RESET
VIDEO PARMS
WAITF-
CASSETTE 10 1 :NEAR
DISKETTE-I 0-1 : NEAR
DISK I NT-I : NEAR
DSKETTE SETUP: NEAR
KB INT T:NEAR
KEYBOARD I 0
I: NEAR
NEC OUTPUT: NEAR
PR I NTER 10 I: NEAR
RESUL TS:NEAR
RS232 10 1: NEAR
SEEK:NEAR
V IDEO_IO_I :NEAR
SET MODE: NEAR
SET-CTYPE: NEAR
SET-CPOS: NEAR
READ CURSOR: NEAR
READ-LPEN: NEAR
ACT DISP PAGE: NEAR
SCROLL UP:NEAR
SCROLL-DOWN: NEAR
READ AC CURRENT: NEAR
WR I TE AC CURRENT: NEAR
WR I TE-C CURRENT: NEAR
SET COLOR: NEAR
WR I TE DOT: NEAR
READ DOT: NEAR
WR I TE TTY: NEAR
V I DEO:STA TE: NEAR
.
-
- -
-
---
-
---
---
------
-----
-
-
---
---
----
-
--
CODE
SEGMENT BYTE
PUBL I C
INITIAL RELIABILITY TESTS -- PHASE I
:
;
--- -- -
--
-
-
----
- -
--- -------
--
---
----
------ --
-
--
--
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
.LI ST
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
PUBLIC
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
EXTRN
0021
MFG_BOOT:
0021 E8
19FO R
CALL
SP TEST
GET COUNT LOW
0024 8A FB
MOV
BH-;BL
SAVE IT
0026 E8
19FO R
CALL
SP TEST
GET COUNT HI
0029 8A EB
MOV
CH-;BL
002B 8A CF
MOV
CL,BH
CX NOW HAS COUNT
0020 FC
CLD
SET DIR. FLAG TO INCRIMENT
002E FA
CLI
002F BF 0500
MOV
DI,0500H
SET TARGET OFFSET (05=00001
0032 BO FD
MOV
AL,OFDH
UNMASK K/B INTERRUPT
0034 E6 21
OUT
INTA01,AL
0036 BO OA
MOV
AL,OAH
;
SEND READ INT. REQUEST REG. CMD
0038 E6 20
OUT
INTAOO,AL
003A BA 0061
MOV
DX,PORT_B
; SET UP PORT B ADDRESS
0016 0005 R
CI
0018 0181 R
C2
001A .20 4B 42 20 4F 4B
F3B
00
CC
0000
0000 36 32 58 30 38 35
31
20 43 4F 50 52
2E 20 49 42 40 20
31
39 38 36
0000
0000 1FFF [
I
2
3
4
5
6
1
8
9
10
11
12
13
14
15
16
11
18
19
20
21
22
23
24
25
26
21
28
29
30
31
32
33
34
35
36
31
38
39
40
41
42
43
44
45
46
·"-1
48
49
50
51
52
53
54
55
56
51
58
59
60
61
62
63
64
65
66
61
68
69
10
11
12
13
14
15
16
11
18
19
80
81
82
83
84
85
86
81
88
89
90
91
92
93
94
95
96
91
98
99
100
101
102
103
104
105
106
101
108
109
110
III
112
113
114
5-84
POST (01/10/86)