IBM 5150 Hardware Reference Manual page 216

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
,,-...,
,,-...,
EiO! EC
E7DZ A82:0
E704 7508
E706 E2F9
E7D8
sa
E7D9 80ce80
E7ae Ee88
E7DE
E7Df 83EA05
E7El 59
E7EZ: 8ACl
E7£4 EE
E7E5 E97EFF
E7E8
E7E8 80Z671007F
E7ED 83C204
E7FO BOOI
E7n EE
E7F3 83C202
E1F6 2BC9
E7Fa
E7F8 EC
E7F9 AB20
E7FB 7507
E7FD E2F9
E7fF
E7FF 8480
EaCI E962FF
EB04
Ea04 4A
Eaos
ESOS EC
E806 A801
Eece 7509
EeCA F6067100eO
E80F 74F4
E811 EBEC
E813
EB13 241E
EB15 8AED
EBl7 88940000
E81B EC
E81C E947ff
E8lF
E81F 88940000
E823 83C205
E826 EC
E827 8AEO
E82:9 42
E82:A EC
E82B E938FF
1582
IN
AL,DX
; GET STATUS
158l
TEST
AL,ZOH
; IS TRANSMITTER READY
1584
JNZ
All
; OUT_CHAR
1585
LOOP
AID
; GO BACK FOR MORE. AND TEST FOR TIME OUT
1586
POP
AX
; RECOVER ORIGINAL INPUT
1587
OR
AH.SOH
; SET THE TIME OUT BIT
1"8
JMP
Al
; RETUWN
1589
All:
; OUT_CHAR
1590
SUB
OX,S
" DATA PORT
1591
POP
ex
; RECOVER IN
ex
TEMPORARILY
1592
MOV
AL,Cl
; GET OUT CHAR TO Al FOR OUT. STATUS IN AH
1593
OUT
DX,Al
; OUTPUT CHARACTER
1594
JMP
Al
; RETURN
1595
1596
J------
RECEIVE CHARACTER FROM COMMO LINE
1597
1598
.1.12 :
1599
ANO
BIOS_BREAK. 07FH
; TURN OFF BREAK BIT IN BYTE
1600
ADO
DX,4
j
MODEM CON1ROl REGISTER
1601
MOV
Al,!
; DATA TERMINAL READY
1602
OUT
OX,At
1603
ADO
DX,2
; MODEM STATUS REGISTER
1604
SUB
CX,CX
; ESTABLISH TIME OUT COUNT
1605
A13:
; WAIT_DSR
1606
IN
Al,OX
; MODEM STATUS
1607
TEST
Al,2OM
; DATA SET READY
1608
JNZ
A1S
; IS IT READY YET
1609
LOOP
All
; WAIT UNTIL IT IS
1610
A14:
; TIME_OUT_ERR
1611
MOV
AH.80H
; SET TIME OUT ERROR
1612
JMP
Al
J RETUPN WITH ERROR
1611
AIS:
; WAIT_OSR_ENO
1614
DEC
OX
; LINE STATUS REGISTER
1615
A16:
; WAIT_RECV
1616
IN
Al,OX
; GET STATUS
1617
TEST
Alol
J RECEIVE BUFFER FUll
)618
JNZ
A17
; GET CHAR
1619
TEST
BIOS_BREAK,BOH
J TEST FOR BREAK KEY
1620
JZ
Alb
I
LOOP IF
~mT
)621
JMP
A14
i
SET TIME OUT ERROR
1622
A17:
; GET_CHAR
)623
AND
Al,OOOl1110B
; TEST FOR ERROR CONDITIONS ON RECV CHAR
1624
MOV
AH,Al
; SAVE THIS PART OF STATUS FOR LATER OPERATION
1625
MOV
DX,RS232_BASE[ SI
J
; DATA PORT
1626
Al,DX
; GET CHARACTER FROH LINE
'"
1627
JMP
Al
; RETURN
1628
1629
;------ COMMO PORT STATUS ROUTINE
1630
1631
A18:
1632
MOV
OX ,RS232_BASE[SI
J
1633
ADO
OX.S
J CONTROL PORT
1634
IN
AL,OX
; GET LINE COHTROL STATUS
1635
MOV
AH,Al
I
PUT IN AH FOR RETURN
1636
INC
OX
; POINT TO MODEM STATUS REGISTER
1637
IN
Al,OX
; GET MODEM CONTROL STATUS
1638
JMP
Al
; RETURN
1639
RS232_IO
ENOP
1640
; ---- INT 16 ------------------------------- ­
1641
i
KEYBOARD I/O
1642:
THESE ROUTINES PROVIDE KEYBOARD SUPPORT
)643
; INPUT
1644
I AHJ=O
READ THE NEXT ASCII CHARACTER STRUCK FROM THE KEYBOARD
1645
RETURN THE RESULT IN I AU, SCAN CODE IN (AH I
164&
(AHJ=l
SET THE Z FlAG TO INDICATE IF AN ASCII CHARACTER IS AVAIlABLE
1641
TO BE READ.
1648
(ZF )=1 -- NO COOE AVAILABLE
1649
(IF )=0 -- CODE IS AVAILABLE
1650
IF Zf
=
0, THE NEXT
CHARACTE~
IN THE BUFftR TO BE READ IS
1651
IN AX, AtID THE ENTRY REMAINS IN THE BUFFER
1652
(AHI=2
RETURN THE CURRENT SHIFT STATUS IN AL PEGISTER
1653
THE BIT SETTINGS FOR THIS CODE ARE INDICATED IN THE
1654
THE EQUATES FOR KBJLAG
1655
; OUTPUT
1656
AS NOTED ABOVE, OIRY AX Atm FLAGS CHANGED
1651
All REGISTERS RETAWED
1658
1--------- -- ----- -- --- --------------- --- ­
A-23

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents