IBM AT 5170 Technical Reference page 312

Table of Contents

Advertisement

••
••
••
••
IBM Personal Computer MACRO Assembler
Ver&ion 2.00
I-I
RS232 ----
06/10/85
COMMUNICATIONS 8105 IRS2321
06-10-85
I
PAGE 116,121
2
1ITLE RS232 ----
06/10/85
COMMUNICATIONS 8105 (RS2321
3
.LIST
4
0000
CODE
SEGMENT 8YTE PU8L I C
5
.
PU8LIC
RS232
10 1
7
EXTRN
AI ;NEAR ­
6
EXTRN
DDS :NEAR
9
I.
,
INT 14 H ---------------------------------------------------------------- ­
II
:RS232
10
12
:
-
TH[S ROUTINE PROVIDES BYTE STREAM 110 TO THE COMMUNICATIONS
13
:
PORT ACCORDING TO THE PARAMETERS:
14
15
:
(AHI= OOH
INITIALIZE THE COMMUNICATIONS PORT
I.
(AU
HAS PARAMETERS FOR
[NIT[ALIZATION
17
;
16
7
5
4
2
I
19
----- 8AUD RATE --
-PAR 1TY-
STOP81 T
--WORD LENGTH-­
2.
21
000 -
1 10
XO -
NONE
-
I
10 -
1 BI TS
22
001
-
150
o
I
ODD
2
11
-
8 BITS
23
010 -
300
I I -
EVEN
2.
o
I I
-
600
25
100 -
1200
2.
101
-
2400
27
1 10 -
4600
26
1 1 1 -
9600
29
ON RETURN. CONDITIONS SET AS
IN
CALL TO COMMO STATUS
(AH=03HI
3.
31
IAHI= 01H
SEND THE CHARACTER
IN (ALlOVER THE COMMO LINE
32
(AL)
REGISTER
IS PRESERVED
33
ON EX[T, BIT 1 OF AH
IS SET IF THE ROUTINE WAS UNABLE TO
3.
TO TRANSMIT THE BYTE OF DATA OVER THE LINE.
35
IF B[T 1 OF AH IS NOT SET, THE
3.
REMAINDER OF
(AH)
IS SET AS IN A STATUS REQUEST.
37
REFLECTING THE CURRENT STATUS OF THE LINE.
36
IAH) = 02H
RECEIVE A CHARACTER
IN (ALI
FROM COMMO LINE 8EFORE
39
RETURN I NG TO CALLER
ON EXIT,
(AHI
HAS THE CURRENT LINE STATUS.
AS SET 8Y THE
"
THE STATUS ROUTINE, EXCEPT THAT THE ONLY 81TS
42
LEFT ON ARE THE ERROR BITS
11,4,3,2,1)
.3
IF
(AHI
HAS 81T
7
ON
(T,IME DUn THE REMAINING
81TS ARE NOT PREDICTABLE.
'5
THUS,
(AH)
IS NON ZERO ONLY WHEN AN ERROR OCCURRED.
IAHI= 03H
RETURN THE COMMO PORT STATUS
IN (AX)
47
(AH)
CONTAINS THE LINE CONTROL STATUS
'6
81T
7
=
TIME OUT
.9
81T 6
=
TRANSMIT SHIFT REGISTER EMPTY
'4
5.
BIT 5
=
TRANSMIT HOLDING REGISTER EMPTY
51
BIT 4
=
BREAK
DET~CT
52
81T 3
=
FRAMING ERROR
53
81T 2
=
PARITY ERROR
54
81
T
1
=
OVERRUN ERROR
55
BIT 0
=
DATA READY
5.
(ALI
CONTAINS THE MODEM STATUS
57
8IT
7
=
RECEIVE LINE SIGNAL DETECT
56
BIT 6
=
RING INDICATOR
59
BIT
5
=
DATA SET READY
81T 4
=
CLEAR TO SEND
81T 3
=
DELTA RECEIVE LINE SIGNAL DETECT
.2
81T 2
=
TRAILING EDGE RING DETECTOR
.3
81T
1
=
DELTA DATA SET READY
8IT 0
=
DELTA CLEAR TO SEND
.,
• •
.5
!OX)
=
PARAMETER
INDICATING WHICH RS232 CARD
(0,1
ALLOWED)
.7
66
DATA AREA _RS232 BASE CONTAINS THE BASE ADDRESS OF THE 6250 ON THE CARD
:
LOCATION 40QH CONTAINS UP TO 4 R5232 ADDRESSES POSSIBLE
J
DATA AREA LABEL ttRS232 TIM OUT
1BYTE) CONTAINS OUTER LOOP COUNT
71
J
VALUE FOR TIMEOUT
1DEFAULT; 1 )
72
; OUTPUT
73
I
AX MOD I F I ED ACCORD I NG TO PARAMETERS OF CALL
••
7.
7.
;
ALL OTHERS UNCHANGED
75
1------------------------ ------------ ­
7.
ASSUME
CS:CODE,DS:DATA
77
18
0000
PROC
FAR
79
6.
;-----
VECTOR TO APPROPRIATE ROUTiNE
61
82
0000 F8
STI
I NTERRUPTS BACK ON
63
0001
IE
PUSH
OS
SAVE SEGMENT
84
0002 52
PUSH
OX
85
0003 56
PUSH
S!
86
0004 51
PUSH
01
81
0005 51
PUSH
CX
88
0006 53
PUSH
BX
69
0001 88 F2
MOV
SI,DX
RS232 VALUE TO (5 I)
90
0009 88 FA
MOV
DI,DX
AND TO (011
IFOR TIMEOUTSI
91
0008 01
E6
SHL
51.1
WORD OFFSET
92
0000 E8 0000 E
CALL
005
g~:~~S232_BASE[SI
]
93
0010 68 94 0000 R
MOV
GET 8ASE ADDRESS
94
0014 OB 02
OR
TEST FOR 0 BASE ADDRESS
95
0016 14 13
JZ
A3
RETURN
96
00180,1. E4
OR
AH.AH
TES T FOR
(AH)
=
OOH
91
001,1. 14 16
JZ
A4
COMMO
INITIALIZATiON
96
001C FE CC
OEC
AH
TEST FOR
{AHI= OIH
99
OOlE 14 48
JZ
A5
SEND
(ALI
100
0020 FE CC
OEC
AH
TEST FOR
(AH) = 02H
101
0022 14 10
JZ
AI2
RECEIVE INTO
{ALI
102
0024
,1.2:
103
0024 FE CC
OEC
AH
TEST FOR
(AH) '" 03H
104
0026 15 03
JNZ
A3
105
0028 E9 0086 R
JMP
Al6
COMMUNICATION STATUS
106
0028
,1.3:
RETURN FROM RS232
101
0028 58
POP
BX
108
002C 59
POP
CX
109
0020 5F
POP
01
110
002E 5E
POP
5 I
111
002F 5,1.
POP
OX
112
0030
IF
POP
OS
113
0031
IRET
1 RETURN TO CALLER. NO ACT I ON
CF
5-140
RS232

Advertisement

Table of Contents
loading

Table of Contents