IBM PC CONVERTIBLE Technical Reference page 159

Table of Contents

Advertisement

0300
0300
0301
0303
0305
0305
03DA
03DC
03DC
0300
03DE
03EO
03El
03E4
03E6
03E7
03E8
03EA
03EC
03EE
03FO
03F2
03F2
03F3
03F4
03F5
03F5
03F5
03F8
03FB
03FE
0401
0405
0407
040B
040E
0410
0412
0412
0414
0414
0417
041A
041B
EC
A8 40
75 07
80 DE 0041
EB FO
42
EC
88 04
46
B9 OOOA
E2 FE
4A
EC
A8 10
74 06
FE CB
75 CB
EB E3
5A
59
C3
BB 0008
E8 0259 R
AO 0047 R
8A 7E 01
J40A:
IN
AL,DX
GET STATUS REG AGAIN
TEST
AL,DATA_READY
TEST DIRECTION BIT
JNZ
J42
OK TO READ STATUS
J41 :
; NECFAIL
R 20
OR
DISKETTE_STATUS, BAD_NEC
JMP
J40
; RESULTS_ERROR
READ IN THE STATUS
J42:
INPULSTAT
INC
OX
POINT AT DATA PORT
IN
AL,DX
GET THE DATA
MOV
[SI] ,AL
STORE THE BYTE
INC
SI
INCREMENT THE POINTER
MOV
CX,10
LOOP TO KILL TIME FOR NEC
J43:
LOOP
J43
DEC
OX
POINT AT STATUS PORT
IN
AL,DX
GET STATUS
TEST
AL, FDCBUSY
TEST FOR NEC STI LL BUSY
JZ
J44
RESULTS DONE
DEC
BL
DECREMENT THE STATUS COUNTER
JNZ
J38
GO BACK FOR MORE
JMP
J41
CHIP HAS FAILED
RESUL T OPERATION I S DONE
J44:
POP
OX
POP
CX
RECOVER REGI STERS
RET
GOOD RETURN CODE FROM TEST
RESUL TS ENDP
NUM_TRANS
THIS ROUTINE CALCULATES THE NUMBER OF SECTORS THAT
WERE ACTUALLY TRANSFERRED TO/FROM THE DISKETTE
INPUT
(BP)
=
POINTER TO ORIGINAL STACK ENTRIES
OUTPUT
(BP+14)
=
AL SAVE AREA ON STACK
=
#
ACTUALLY TRANSFERRED
NO OTHER REGISTERS MODIFIED
NUM_TRANS
PROC
NEAR
MOV
BX,8
SECTORS/TRACK OFFSET TO DL
CALL
GELPARM
AH
=
SECTORS/TRACK
MOV
AL,NECSTATUS+5
GET ENDING SECTOR
MOV
BH, DHSAVE [BP]
BH
=
STARTING HEAD
#
INST
3A 3E 0046 R
CMP
BH,NECSTATUS+4
GET HEAD ENDED UP ON
75 DB
JNZ
01 F _HD
I F ON SAME HEAD, THEN NO ADJUS
8A 3E 0045 R
MOV
BH,NECSTATUS+3
GET TRACK ENDED UP ON
3A 7 E DB
CMP
BH,CHSAVE[BP]
SEE I F TRACK SWITCH
74 04
JZ
SAME_TRK
IF SAME TRACK NO INCREASE
02 C4
ADD
AL,AH
ADD SECTORS/TRACK
DIF_HD:
02 C4
ADD
AL,AH
ADD SECTORS/TRACK
SAMLTRK:
2A 46 OA
SUB
AL, CLSAVE [BP]
SUBTRACT START FROM END SECTORS
88 46 DE
MOV
ALSA VE [BP] ,AL
SAVE RESULTS IN STACK SAVE AREA
C3
RET
NUM_TRANS
ENDP
2-134 ROM BIOS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents