EasyManua.ls Logo

IBM PC CONVERTIBLE

IBM PC CONVERTIBLE
275 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
03DB
03DB
57
03DC
06
0300
53
03DE
BF
----
03El
8E
C7
03E3
3C
01
03E5
74
4B
03E7
3C
02
03E9
74
3A
03EB
3C
FD
03ED
75
33
03EF
E8
0442 R
03F2
73
4A
03F4
51
03F5
8A
DO
03F7
DO
E5
03F9
02
DO
DELBUSY
PUSH
PUSH
PUSH
MOV
MOV
CMP
JE
CMP
JE
CMP
JNE
PROC
01
ES
BX
DI,DATA
ES,DI
AL,OI
DSKLBUSY
AL,02
KYBD_WAIT
AL
,OFDH
DEVB_CLEAR
NEAR
SAVE
REGISTERS
SET
ES
TO
DATA
IS
DEVICE
TYPE
=
DISKETTE?
YES,
GO
SERVICE
FOR
DISKETTE
NO,
DEVICE
TYPE
=
KEYBOARD?
YES,
GO
SERVICE
FOR
KEYBOARD
DEV
TYPE
=
DSKT
MTR
STARTUP?
NO,
RETURN
WITH
CARRY
CLEAR
WAIT
FOR
DISKETTE
MOTOR
STARTUP
TIME
TO
ELAPSE
WAIT
TIME
IS IN
125
MILLISECOND
UNITS
IN
CH
CALL
JNC
PUSH
MOV
SHL
ADD
TMRO_CHK
DEVB_EXIT
CX
BL
,CH
CH,1
BL
,CH
CHECK
FOR
TIMER
0
RUNNING
I F
NOT
RUNN
I
NG
THEN
EX
IT,
NO
WAIT
COPY
TIME
IN
CH
MULTIPLY
BY
3
WAIT
TIME
is
IN
BL
REQUEST
CONTROLLER
POWER
ON
TO
OVERLAP
PWR
ON
SEQ
WITH
MOTOR
STARTUP
DELAY
03FB
88 IE
007B
R
MOV
POP
PUSH
MOV
IN
EV
ENT
_TIM_OUT,
BL
CX
SAVE
TIME
DLY
IN
TIMEOUT
CTR
RESTORE
CX
03
FF
59
0400
52
OX
0401
BA
03F4
DX,3F4H
0404
EC
AL,DX
0405
90
0406
5A
OX
SAVE
OX
DO
DUMMY
READ
TO
PWR
ON
CNTL
FOR
MOTOR
WAIT
OVERLAP
TIMER
0
ROUTINE
WILL
DECRMNT
TIME
VAL
EVENLTIM_OUT
WHILE
CNTLR
IS
BEING
POWERED
ON
BE
BACK
FROM
NMI
IF
PWR
WAS
OFF
HERE
RESTORE
OX
0407
38
IE
007B
R
NOP
POP
eMP
JA
MOV
OR
JNE
STC
JMP
EVENLTIM_OUT,
BL
DEVLEXIT
040B
77
31
0400
8A
IE
007B
R BL,
EV
ENL
TI
M_OUT
BL,
BL
EXIT I F
MORE
THAN
ENOUGH
TME
RETRI
EVE
ADJUSTED
WAIT
TIME
0411
OA
DB
0413
75
03
0415
F9
0416
EB
26
0418
0418
B7
00
041A
OE
041B
07
041C
2B
FF
041E
BO
01
0420
EB
19
0422
0422
F8
0423
EB
19
BF
001C
R
DEVB_Ol
:
MOV
PUSH
POP
SUB
MOV
JMP
DEVLOI
SHORT
DEVB_EXIT
BH,O
CS
ES
01,01
AL,OI
SHORT
BUSLWAIT
RETURN
WITH
CARRY
CLEAR
DEVBJLEAR:
CLC
JMP
SHORT
DEVLEXIT
WAITING
FOR
KEY
IN
KEYBOARD
BUFFER
DON'T
WAIT
IF
TIME
EXPIRED
SET
CARRY
TO
SHOW
TIMEOUT
EXIT
WITH
TIME
EXPIRED
SET
COMPARE
MASK
TO
0
SET
ES
TO
ROM
SEGMENT
SET
ADDR
0
IN
ROM
FOR
DUMMY
COMPARE
RETURN
ON
COMPARE
EQUAL
WAIT
FOR
TIMEOUT
TO
OCCUR
; EXIT
ROUTINE
PERFORM
WAILON_EVENT
FOR
BUFFEILHEAD
<>
BUFFER
TAIL
(LOW
BYTES)
KYBD_WAIT:
MOV
0425
0425
0428
042C
042E
0430
8A
3E
001A
R
BO
02
MOV
MOV
SUB
JMP
DI,OFFSET BUFFER_TAIL;
POINT
ES:DI
TO
BFR
HEAD
BH,BYTE
PTR
BUFFER_HEAD;
MASK
TO
CURRENT
BFR
TAIL
AL,02 ;
FN
CODE=CMP,
RTRN
NOT
EQUAL
2A
DB
EB
09
0432
0432
BF
003E
R
BL,
BL
;
NO
TIMEOUT
SHORT
BUSLWAIT
WAIT
FOR
DISKETTE
INTERRUPT
COMPLETE
(INLFLAG
TO
BE
SET
IN
SEEK-STATUS)
DSKLBUSY:
MOV
DI,OFFSET
SEEK-STATUS
GET
ADD
OF
DSKT
INTR
FLAG
2-188 ROM BIOS

Related product manuals