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...
023A
023F
0240
0241
0244
0245
0246
0246
0248
0248
0249
024B
0240
024F
0251
0251
0253
0255
0256
0257
0258
0259
0259
0259
025A
025C
025E
0262
0264
0266
0267
0268
0268
0268
026B
026C
026E
0270
0272
0274
0278
027A
027E
0281
0281
C6
06
0041
R
80
MOV
DISKETTLSTATUS,
TIME_OUT
59
POP
CX
5A
POP
OX
SET
ERROR
CODE
AND
RESTORE
REGS
83
C4
02
ADD
SP,2
DISCARD
THE
RETURN
ADDRESS
F9
STC
INDICATE
ERROR
TO
CALLER
C3
RET
J25:
33
C9
XOR
CX,CX
RESET
THE
COUNT
J26:
EC
IN
AL,DX
GET
THE
STATUS
A8
80
TEST
AL,
REQ~ASTER
IS
IT
READY
75
04
JNZ
J27
YES,
GO
OUTPUT
E2
F9
LOOP
J26
COUNT
DOWN
AND
TRY
AGAIN
EB
E9
JMP
J24
ERROR
COND
IT
I
ON
J27
:
OUTPUT
8A
C4
MOV
AL,AH
GET
BYTE
TO
OUTPUT
B2
F5
MOV
DL
,OF5H
DATA
PORT
(3F5)
EE
OUT
DX,AL
OUTPUT
THE
BYTE
59
POP
CX
RECOVER
REGISTERS
5A
POP
OX
C3
RET
CY
= 0
FROM
TEST
INSTRUCTION
NECOUTPUT
ENDP
---- --- - - - - - - - -- - - - - - - - - - - - - -
--
- - - - - -
--
- - - -
--
- - - - --- - - -- -- - - - - - - - - - - - -
--
GELPARM
THIS
ROUTINE
FETCHES
THE
INDEXED
POINTER
FROM
THE
DSKLBASE
BLOCK
POINTED
AT
BY
THE
DATA
VARIABLE
DISK-POINTER. A
BYTE
FROM
THAT
TABLE
IS
THEN
MOVED
INTO
AH,
THE
INDEX
OF
THAT
BYTE
BEING
THE
PARM
IN
BX
ENTRY
--
BX
=
INDEX
OF
BYTE
TO
BE
FETCHED
* 2
EX
IT
--
AH
=
THAT
BYTE
FROM
BLOCK
-
--
- - - - - - - --- -
--
- - - - --- - - - - -
--
- - - - - - - -
--
- - - - - - - - -
--
- - - - - - - - - - - - - - - - - -
---
GELPARM
PROC
NEAR
IE
PUSH
OS
SAVE
SEGMENT
2B
CO
SUB
AX,AX
ZERO
TO
AX
8E
08
MOV
DS,AX
ASSUME
OS:
ABSO
C5
36
0078 R
LOS
SI,DISK-POINTER
POINT
TO
BLOCK
01
EB
8A
20
IF
C3
SEEK
INPUT
OUTPUT
SHR
BX,1 DIVIDE
BX BY
2,
AND
SET
FLAG
FOR
EXIT
MOV
AH,
[SI+BX]
GET
THE
WORD
POP
OS
RESTORE
SEGMENT
ASSUME
DS:DATA
RET
RETURN
TO
CALLER
GELPARM
ENDP
THIS
ROUTINE
WILL
MOVE
THE
HEAD
ON
THE
NAMED
DRIVE
TO
THE
NAMED
TRACK.
IF
THE
DRIVE
HAS
NOT
BEEN
ACCESSED
SINCE
THE
DRIVE
RESET
COMMAND
WAS
ISSUED,
THE
DRIVE
WILL
BE
RECALIBRATED.
FOR
DRIVES
0,1
NO
SEEK
PERFORMED
I F
ALREADY
ON
TRACK
(DL) =
DRIVE
TO
SEEK
ON
(CH)
=
TRACK
TO
SEEK
TO
CY
= 0
SUCCESS
CY
= 1
FAILURE
--
DISKETTE_STATUS
SET
ACCORDINGLY
(AX,
OJ)
DESTROYED
------
--
- - - - - -
--
- - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - -
--
- - - - - - - - - - - - - - -
--
SEEK
PROC
NEAR
B8
02EE
R
MOV
AX,OFFSET
J32
SET
ERROR
EXIT
FOR
NECOUTPUT
50
PUSH
AX
BO
01
MOV
AL,1
ESTABLISH
MASK
FOR
RECAL
TEST
8B
F9
MOV
OJ,
CX
SAVE
TRACK
NUMBER
(01
HIGH)
8A
CA
MOV
CL,DL
GET
DRIVE
VALUE
INTO
CL
02
CO
ROL
AL,CL
SHIFT
IT
BY
THE
DRIVE
VALUE
84
06
003E
R
TEST
AL,SEEK-STATUS
TEST
FOR
RECAL
REQU
I
RED
75
IB
JNZ
J28
NO_RECAL
08 06
003E
R
OR
SEEK-STATUS,AL
TURN
ON
THE
NO
RECAL
BIT IN
FLAG
B9
0002
MOV
CX,02H
#
RECALS
ATTEMPTS
FOR
80
TRACKS
J27A:
B4
07
MOV
AH,RECALIBRATE
RECAll
BRATE
COMMAND
ROM BIOS 2-129

Related product manuals