IBM 5150 Hardware Reference Manual page 215

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LaC OBJ
LINE
SOURCE
E7SF
1505
.402:
E7SF FEee
1506
DEC
AH
; TEST FOR (AH )=3
£761 7503
1507
JHZ
A3
£763 £98900
1508
JMP
A18
; COMMUNICATION STATUS
£766
1509
.403:
, RETURN FROM RS232
E766 59
1510
POP
ex
£767 SF
1511
POP
01
E768 5E
1512
POP
51
£769 SA
1513
POP
DX
E76A IF
1514
POP
as
E768 CF
1515
lRET
I
RETURN TO CAllER. NO ACTION
1516
1517
;------ INITIALIZE THE COMM\.JHICATlONS PORT
1518
£76C
1519
A4:
f76C 8AEO
1520
NOV
AH.Al
; SAVE INIT PARMS IN AH
£76E 83C203
1521
ADD
OX,3
• POINT TO 8250 CONTROL REGISTER
E771 B080
1522
ti0V
.4.L,6QH
E773 EE
1523
OUT
OX.Al
; SET DLAS;1
1524
1525
; -----­ DETERMINE BAUD RATE DIVISOR
1526
£774 8A04
152:7
MaV
OL.AH
; GET PARMS TO DL
£776 00C2
1528
ROL
OLd
E778 00C2
1529
ROL
OLd
I
GET BAUD RATE TERM TO LOW
BITS
E77A DOC2
1530
ROL
OLd
Ene ooe2
1531
ROL
OL,}
; *2 FOR WORD TASlE ACCESS
EnE 81E20EOO
1532
A,m
OX.DEH
; ISOLATE THEM
£782 SF29E7
1533
MOV
01.0FFSET Al
I
BASE OF TADlE
E78S 03FA
1534
ADO
OI.DX
; PUT INTO INDEX REGISTER
E787 88940000
1535
MOV
OX.RS232_BASE(SIl
; POINT TO HIGH ORDER OF DIVISOR
E7BB 42
1536
INC
OX
E7SC 2E8A4501
1537
NOV
Al,CS:[DI1+l
; GET HIGH ORDER OF DIVISOR
£790 EE
1538
OUT
OX.AL
; SET MS OF DIV TO 0
E791 4"
1539
DEC
OX
E792 2£8A05
1540
HOV
Al.CS:[OIl
; GET LOW ORDER OF DIVISOR
E795 EE
1541
OUT
OX.Al
; SET LOW OF DIVISOR
£796 83C203
1542
ADO
DX.3
£799 8'&'C4
1543
MOV
AL.AH
; GET PARMS BACK
£798 241F
1544
' N O
AL.OIFH
; STRIP
OFF THE BAUD BITS
£790 EE
1545
OUT
DX,At
; LINE CONTROL TO 8 BITS
£79£ 83£A02
1546
SUB
DX,2
f7Al BODO
1547
MOV
Al,O
£7A3 EE
1546
OUT
DX,Al
J INTERRUPT ENABLES ALL OFF
£7A4 E879
1549
JMP
SHORT .1.18
; Cot'CSTATUS
1550
1551
,------
SEND CHARACTER IN (ALI OVER COMMa LINE
1552
£7A6
1553
AS:
E7A6 50
1554
PUSH
AX
I SAVE CHAR TO SEND
£7A7 83C204
1555
ADD
OX.4
; MODEM CONTROL REGISTER
E7AA 8003
1556
MOV
AL.3
; OTR AND RTS
E7AC EE
1557
OUT
OX.AL
; DATA TERMIN'AL READY, REQUEST TO SEND
£7AO 33C9
1558
XOR
cx.cx
; INITIALIZE TIME OUT COUNT
E7AF 83C202
1559
ADD
DX.2
; MODEM STATUS REGISTER
E7BZ
1560
.4.6:
I
WAIT_OATA_SET_READY
£782 EC
1561
IN
At.OX
; GET HOOEN STATUS
E7B3 .l820
1562
TEST
Al.20H
; DATA SET READY
E7BS 7508
1563
Jt~Z
A7
I
TEST_CLEAR_TO_SEND
£7B7 E2F9
1564
LOOP
A6
; WAIT_OATA_SET_READY
E7B9 58
1565
POP
AX
E7BA 80CC50
1566
OR
AH.80
; INDICATE TINE OUT
E7BD fBA7
1567
JMP
A3
I RETURN
E7SF
1568
A7:
E7SF 28C9
1569
SUB
cx.CX
E7et
1570
A8:
; WAIT_CLEAR_TO_SEHO
E7et EC
1571
IN
Al.DX
; GET MODEM STATUS
E7t2 A810
1572
TEST
Al.IOH
I TEST CLEAR TO SEND
E7C4 7508
1573
JHZ
A9
£7&6 E2F9­
1574
LOOP
A6
; W.6.IT_tlE.6.R_TO_SEND
£7C8 58
1575
pop
AX
, TIME OUT HA.S OCCURRED
£7C9 80ce80
1576
OR
AH.80H
E7ee £B98
1577
JMP
A3
;
RETLlR~1
f7eE
1578
.4.9:
f7eE 4A
1579
DEC
ox
; LINE STATUS REGISTER
E7CF 2BC9
1580
SUB
CX.CX
; ItUTIALIZE WAIT COUNT
E701
1581
AlD:
A-22

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents