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...
0203
58
0204
A2
0040 R
0207
0207
IE
0208
88
5E
12
020S
8S
46
14
020E
8E
08
0210
4B
0211
8A
07
0213
IF
0214
3C
EC
0216
74
04
0218
3C
EE
021A
75
03
021C
021C
FF
4E
12
021F
021F
E9
0050 R
0222
0222
51
0223
BA
03F4
0226
2B
C9
0228
0228
EC
0229
A8
10
022B
74
02
0220
E2
F9
022F
022F
59
0230
C3
0231
0231
0231
51
0232
53
0233
B3
04
0235
2B
C9
0237
POP
AX
;
RETRI
EVE
MOTOR
COUNT
MOV
MOTOILCOUNT
,
AL
ADJUST
THE
STACK
POINTER
TO
RETURN
TO
USER
DSKLRSEXIT:
PUSH
OS
MOV
BX,OFFSAVE[BP]
MOV
AX,SEGSAVE[BP]
MOV
DS,AX
DEC
BX
MOV
AL, [BX]
POP
OS
CMP
AL,IN_INSTR
JE
DSKLRHLADJ
CMP
AL,
DULl
NSTR
JNE
RHLEXITNMI
DSKLRTN-ADJ:
DEC
OFFSAVE[BP]
RTN_EXITNMI:
JMP
NMIH_EXIT
GET
RETURN
OFFSET
AODR
GET
RETURN
SEGMENT
AOOR
POINT
BACK
TO
INSTR
GET
INSTRUCTION
BYTE
IN
AL
,OX
INSTRUCTION?
YES
THEN
ADJUST
RETURN
OUT
DX,AL
INSTRUCTION?
NO
TH
EN
DO
NOT
ADJUST
RTN
SETUP
TO
REISSUE
THE
I/O
FOR
USER
RETURN
TO
NMLFLIH
;THIS
ROUTINE
WILL
WAIT
FOR
THE
FOC
TO
DROP
BUSY
DROP_BUSY
PROC
NEAR
PUSH
CX
MOV
OX,
FOCSTATUS
SUB
CX,CX
WAILBUSY:
IN
AL,OX
TEST
AL,
FDCBUSY
JZ
FOCDONE
LOOP
WAIT_BUSY
FOCDONE:
POP
CX
RET
DROP_BUSY
ENDP
SAVE
REGISTER
VALUE
POINT
TO
MASTER
STATUS
PORT
TIMING
COUNT
FOR
LOOP
READ
THE
MASTER
PORT
TEST
FOR
BUSY
TO
DROP
FDC
NO
LONGER
I S
BUSY
RESTORE
ORIGINAL
VALUE
;THIS
ROUTINE
WILL
WAIT
FOR
AN
INTERRUPT
FROM
THE
FOC
WAILINTRPT
PROC
NEAR
PUSH
CX
PUSH
BX
SAVE
BX
MOV
BL,4 2
SECONDS
WAIT
SUB
CX,CX
TIMING
COUNT
FOR
LOOP
WAILINT:
0237
F6
06
003E R
80
TEST
SEEICSTATUS,INLFLAG
WAIT
FOR
AN
INTERRUPT
023C
75
06
JNZ
FOCINTRPT
FDC
GENERATED
AN
INTERRUPT
023E
E2
F7
LOOP
WAILINT
0240
FE
CB
DEC
BL
0242
75
F3
JNZ
WAILINT
WAIT
ON
INTERRUPT
0244
FDCINTRPT:
0244
80
26
003E
R
7F
AND
SEEICSTATUS,
NOT
INLFLAG ;
RESET
THE
INTERRUPT
FLAG
0249
5B
024A
59
024B
C3
024C
024C
024C
024C
IE
0240
50
024E
B8
----
R
0251
8E
08
POP
BX
RESTORE
BX
POP
CX
RET
WAILINTRPT
ENDP
DSKLRESYNC
ENDP
DSKLINTE
THIS
ROUTINE
HANDLES
THE
DISKETTE
INTERRUPT
INPUT:
NONE
OUTPUT:
THE
INTERRUPT
FLAG
SET
IS
SEEICSTATUS
DSKLNMIE
PUSH
PUSH
MOV
MOV
PROC
FAR
OS
AX
AX,DATA
DS,AX
SET
UP
DATA
SEGMENT
0253
80
OE
003E
R 80
OR
SEEICSTATUS,
I NLFLAG
ROM BIOS 2-33

Related product manuals