IBM PC CONVERTIBLE Technical Reference page 86

Table of Contents

Advertisement

= OOAA
OB04
OB04
OB05
OB06
OB08
OBOB
OBOD
OBlO
OB11
OB13
0814
0817
081A
081C
OB20
0822
0824
OB26
OB29
OB28
082D
0830
OB30
OB31
50
52
B4 IF
E8 0747 R
8A EO
BA 007C
EC
86 C4
50
BA 02F8
F6 C4 01
74 04
,
ASYNCSUSPEND
THIS SAVES OR RESTORES THE REGISTERS OF THE
INPUT
8250 ASYNC CHIP.
USED IN SUSPEND AND RESUME.
ES:DI MUST BE SET TO FIRST BYTE ON ENTRY FOR
SUSPEND, DS:SI MUST BE SET UP TO FIRST BYTE
FOR RESUME. SI OR DI IS INCREASED BY 14 ON EXIT.
THE DATA STATUS BYTE AND THE 8250 REGISTERS FOR
THE ASYNC PORT ARE STORED IN RAM AS FOLLOWS:
BYTE 1 - DATA STATUS (OAAH = GOOD)
BYTE 2 - 8250 LINE CONTROL REG
BYTE 3 - 8250 MODEM CONTROL REG
BYTE 4 - 8250 SCRATCH REG
BYTE 5 - 8250 INTERRUPT CTL REG
BYTE 6 - 8250 DIVISOR LATCH (MSB)
BYTE 7 - 8250 DIVISOR LATCH (LSB)
THE MODEM 8250 REGISTERS AND DATA STATUS BYTE
ARE STORED IN THE SAME FORMAT IN THE NEXT 7 BYTES.
BL=O : RESTORES REGISTERS (RESUME)
BL=l : SAVE REGISTERS (SUSPEND)
DIRECTION FLAG=O
DS:SI = BEGINNING OF DATA AREA FOR RESUME.
ES:DI
=
BEGINNING OF DATA AREA FOR SUSPEND
REGI STERS USED
BX DESTROYED
LOCAL EQUATES
GOOD_DATA
14 ADDED TO SI (RESUME) OR DI (SUSPEND).
EQU
OAAH
THIS MEANS THAT THE FOLLOWING 6
8YTES ARE VALID SUSPEND DATA
ASYNCSUSPEND
PROC
NEAR
PUSH
PUSH
AX
DX
; SAVE REGISTERS USED
;-----GET RTCFEALCON AND KY8D_CNTL TO SEE WHO IS INSTALLED
,
MOV
CALL
MOV
MOV
IN
XCHG
PUSH
AH, RTCFEA LCON
GELRTCNMI
AH,AL
DX, KY8D_CNTL
AL,DX
AL,AH
AX
GET ASYNC INSTALLATION INFO
FROM REAL TIME CLOCK RAM
SAVE FEATURE REGISTER
ADDRESS THE POWER CONTROL REG
AND READ IT
EXCHANGE BYTES
SAVE FOR LATER
(REST~ODEM)
;-----GET ADDRESS OF ASYNC PORT, EVEN IF NOT PRESENT
MOV
DX,2F8H
ADDRESS OF SECONDARY PORT
TEST
AH, SET _RS23LPRIM
TEST FOR ASYNC BEING PRIMARY
JZ
SV1
SKIP IF NOT
81 C2 0100
ADD
DX,lOOH
CHANGE TO PRIMARY ADDRESS I F SO
;-----IS ASYNC INSTALLED AND ON?
A8 80
SV1:
TEST
AL, S ERPLLI NST
TEST FOR SER/PAR INSTALLED
75 02
JNZ
SV2
YES, GO TO NEXT TEST
2B CO
SUB
AX,AX
NO, FORCE TO FAIL NEXT TEST
F6 C4 04
SV2:
TEST
AH, ACLRS232
TEST FOR ASYNC POWER ON
74 02
JZ
SV3
NO, AL=O TO INDICATE BAD
BO AA
MOV
AL,GOOD_DATA
YES, SET AL TO INDICATE GOOD
;
;-----DO THE SUSPEND OR RESUME
;
E8 OB47 R
SV3:
CALL
ASLRES3US
RESUME OR SUSPEND ASYNC
,
;-----IS MODEM INSTALLED AND ON?
REST~ODEM:
58
POP
AX
RETRIEVE FEATURE AND KYBD REGS
A8 40
TEST
AL, I NTMOD_I NST
TEST FOR INTERNAL MODEM
ROM BIOS 2-61

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents