IBM AT 5170 Technical Reference page 313

Table of Contents

Advertisement

IBM Personal Computer MACRO AS.!Iembler
Version 2.00
1-2
RS232 ---- 06/10/e5
COMMUNICATIONS BIOS
(RS23Z)
06-10-85
114
115
lib
1 17
0032
1 18
0032 8,0, EO
119
003483 C2 03
120
0037 BO 80
121
0039 EE
122
123
124
125
003,0. 8A 04
126
003C Bl
04
127
003E 02 C2
128
0040 81
E2 OOOE
129
0044 SF 0000 E
130
0047 03 FA
131
0049 88 94 0000 R
132
004D 42
133
004E 2E: 8A 45 01
134
0052 EE
135
0053 4A
136
0054 EB 00
137
0056 2E: SA 05
138
0059
EE
139
005A 83 C2 03
140
0050 8,0, C4
141
005F 24
IF
142
0061
EE
143
0062 4,0,
144
0063 4,0,
145
0064 EB 00
146
0066 80 00
147
0068 EE
148
0069 E8 48
149
150
151
152
0068
153
006B 50
154
006C 83 C2
155
006F BO 03
156
0071
EE
157
0072 42
158
0073 42
159
0074 87 30
160
0076 E8 00C5 R
161
0079 74
as
162
0078
163
0078 59
164
001e 8,0. CI
165
007E
166
007E 80 CC 80
167
0081
EB
,0,8
lb.
169
0083
170
0083 4,0,
171
0084
172
0084 81 20
173
0086 E8 00C5 R
174
0089 75 FO
175
00S8
176
008B 83 EA 05
177
008E 59
178
008F 8,0, CI
179
0091
EE
180
0092
E8
97
I .
,.2
I
'.3
184
0094
185
0094 83 C2 04
186
009780 01
187
0099 EE
188
009,0, 42
189
0098 42
190
009C
191
009C 87 20
192
009E ES DOCS R
193
00,0.1
1508
194
00,0.3
195
00,0.3 4,0,
196
00,0,4
197
00,0.4 B7 01
198
00A6
E8
00C5 R
199
00,0,9 75 03
200
00,0,8
201
00A8 80 E4
IE
202
203
OOAE 88 94 0000 R
204
0082 EC
205
00B3 E9 0028 R
20b
207
20.
209
00B6
210
0086 8B 94 0000 R
211
008,0. 83 C2 05
212
OOBD EC
213
OOBE 8,0, EO
214
OOCO
4Z
215
OOCI
EC
216
00C2 E9 0028 R
PAGE
;-----
INITIALIZE THE COMMUNICATIONS FORT
,0.4:
MOV
AH,AL
SAVE INITIALIZATION PARAMETERS
IN (AHI
AOO
DX,3
POINT TO 8250 CONTROL REGI STER
MOV
AL,80H
OUT
DX,AL
SET DLA8='
DETERM I NE 8AUD RATE D I V I SOR
MOV
DL,AH
GET PARAMETERS TO
lOLl
MOV
CL,4
ROL
DL,CL
ANa
OX,OEH
I SOLA TE THEM
MOV
DI ,OFFSET
AI
BASE OF TABLE
AOO
DI,DX
;
PUT
INTO INDEX REGISTER
MOV
DX,II!IRS232 8ASE(S]]
; POINT TO HIGH ORDER OF DIVISOR
INC
ox
­
MOV
AL.CS: {DI]+ 1
GET HIGH ORDER OF OIVISOR
OUT
DX,AL
SET ms OF DIVISOR TO 0
OEC
ox
JMP
I/O DELAY
MOV
AL,eS:
[01
J
GET LOW ORDER OF D
I
V I SOR
'-2
OUT
aX,AL
SET LOW OF DIVISOR
AOO
OX,3
MOV
AL,AH
GET PARAMETERS BACK
ANa
AL,OIFH
STRIP OFF THE BAUD BITS
OUT
DX,AL
LINE CONTROL TO 8 BITS
OEC
ox
OEC
ox
JMP
I/O DELAY
,-2
MOV
AL,O
OUT
DX,AL
I NTERRUPT ENABLES ALL OFF
JMP
SHORT ,0.18
COM_STATUS
SEND CHARACTER
IN
(AL)
OVER COMMO LINE
AS:
PUSH
SAVE CHAR TO SEND
AOO
DX,4
MODEM CONTROL REG
I
STER
MOV
AL,3
DTR AND RTS
OUT
DX,AL
DATA TERMINAL READY, REQUEST TO SEND
INC
ox
MODEM STATUS REGISTER
INC
ox
MOV
8H,30H
OAT A SET READY & CLEAR TO SEND
CALL
WAIT FOR STATUS
ARE BOTH TRUE
JE
'9 -
YES, READY TO TRANSMI T CHAR
,0,7:
POP
ex
MOV
AL,CL
I
RELOAD DATA BYTE
OR
AH,80H
INDICATE TIME OUT
JMP
A3
RETURN
A9:
CLEAR TO SEND
DEC
OX
LINE STATUS REGISTER
AIO:
WAIT SEND
MOV
BH,20H
IS TRANSM I TTER READY
CALL
WA I T FOR STATUS
TEST FOR TRANSMITTER READY
..JNZ
,0.7-
RETURN
'It
1 TH TIME OUT SET
AI I :
OUT CHAR
SUB
OX,S
DATA PORT
POP
CX
RECOVER
IN CX TEMPORAR I
L
Y
MDV
AL,CL
MOVE CHAR TO AL FOR OUT,
S T A TUS
IN AH
OUT
DX,AL
OUTPUT CHARACTER
..JMP
A3
RETURN
( - - - - ­
RECE
1
VE CHARAC1ER FROM COMNO LINE
,0.121
ADD
DX,4
MODEM CONTROL REG I STER
MOV
AL,I
DATA TERM
1
NAL READY
OUT
DX,AL
INC
ox
MODEM STATUS REGISTER
INC
ox
A13;
WAIT DSR
MOV
8H,20H
DATA-SET READY
CALL
WA
IT
FOR STATUS
TEST FOR DSR
..JNZ
,0,8
-
­
RETURN WITH ERROR
A151
WAIT DSR END
ox
LINE-STATUS REGISTER
A16:
WA I T RECV
MOV
BH,I
RECEIVE BUFFER FULL
CALL
WA
I
T FOR STATUS
TES T FOR RECE
1
VE BUFFER FULL
-
..JNZ
,0,8
-
SET T I ME OUT ERROR
A I 7:
GET CHAR
AND
AH,OOOII
t
lOB
TEST FOR ERROR CONDITIONS ON RECEIVE
MOV
DX,IPRS232 BASE[S!]
DATA PORT
IN
A L , D X -
GET CHARACTER FROM LINE
JMP
,0.3
RETURN
;-----
COMMa PORT STATUS ROUT INE
A
18:
MOV
DX,<l'IRS232 BASE[SI]
ADD
OX,5
-
CONTROL PORT
IN
AL,OX
GET LINE CONTROL STATUS
MOV
AH,AL
PUT
IN
(AH)
FOR RETURN
INC
ox
POINT TO MODEM STATUS REGI STER
IN
AL,DX
GET MODEM CONTROL STATUS
..JMP
,0,3
RETURN
RS232
5-141

Advertisement

Table of Contents
loading

Table of Contents