EasyManua.ls Logo

IBM XT 5160 - Page 191

IBM XT 5160
420 pages
Print Icon
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...
IBM
Personal
Computer
MACRO
Assembler
Version
2.00
OSKETTE
- - 01
/10/86
0 I
SKETTE
ADAPTER B I
OS
1-22
01-10-86
DRIVE
IS
A
360;
SET
DRIVE
TO
DETERMINED;
SET
MEDIA
TO
DETERMINED
AT RATE
250.
OR
(IIDSK
STATE[DI]
,DRV
DET+MED
DET+RATE
250
RET -
-;
ALL
I NFORMAT I
ON
SET
DR
IVE
DET
-DETERM
I NES WHETHER
DR
I VE
IS
80
OR
40
TRACKS AND
UPDATES
STATE
I NFORMAT I
ON
ACCORD I
NGL
Y
THROW
AWAY
TURN
ON
THE
MOTOR I F
OFF
ADDRESS 0 I G I
TAL
I
NPUT
REG I STER
INPUT
DIGITAL
INPUT
REGISTER
CHECK FOR 0 I
SK
CHANGE
LINE
ACT I VE
RETURN TO
CALLER
WITH
ZERO
FLAG
SET
ERROR
NO
DR
I VE
SEEK TO TRACK
10
TURN
ON
MOTOR I F NOT
ALREADY
ON
RECAL
I BRA
TE
DR
I VE
ASSUME
NO
DR
I VE
PRESENT
;EEK
TO TRACK
48
DECREMENT TO
NEXT
TRACK
END LOOP
IF
CYL
I NDER COUNT NEGAT I VE
;AVE
TRACK
POP AND RETURN
~OAD
NEC OUTPUT ERROR AODRESS
SENSE
DR
I VE
STATUS
COMMAND
BYTE
OUTPUT TO NEC
AL
=
DRI
VE
AH
=
DR
I VE
OUTPUT TO NEC
GO
GET
STATUS
THROW
AWAY
ERROR ADDRESS
RESTORE TRACK
TRACK 0
?
GO
TILL
TRACK 0
I S
HOME
AT
TRACK 0 ?
MUST
BE
80
TRACK
DR
I VE
POINT
AT
DATA
PORT
GET
THE
DATA
STORE THE
BYTE
I NCREMENT THE PO
INTER
MIN
I
MUM
12M
I CROSECONDS FOR NEC
WA
I T
15
TO
30
MICROSECONDS
POINT
AT
STATUS
PORT
GET
STATUS
TEST
FOR NEC ST I
LL
BUSY
RESUL
TS
DONE ?
DECREMENT THE
STATUS
COUNTER
GO
BACK FOR MORE
TOO MANY
STATUS
BYTES
SET
ERROR
FLAG
HIGH
ORDER COUNTER
COUNTER
WA
I T FOR MASTER
GET
STATUS
KEEP
ONLY
STATUS
AND 0 I
RECTI
ON
STATUS
I AND 0 I RECT I
ON
0 ?
STATUS
AND
DIRECTION
OK
LOOP
TILL
TIMEOUT
; RETURN
WITH
CARRY
SET
AL,DX
AL,
1
1000000B
AL,
1
1000000B
J42
J39
01
OX
AL,DX
[01]
,AL
01
01
=
DRI
VE #
BH,2
CX,CX
CX
CX,2
WAITF
OX
AL,DX
AL,
000
I
OOOOB
POPRES
ENDP
(IIDSK_STATE[DI),TRK_CAPA
;
SETUP
80
TRACK
CAPABILITY
BL
RIO
(IIDSKETTE_STATUS,
BAD_NEC
CH
IS
40
CX-
SEEK
POP BAC
AX
,OFFSET
DO
BAC
AX
-
AH,
SENSE DRV
ST
NEC OUTPUT -
AX,OI
AH,AL
NEC OUTPUT
RESUL
TS
AX
CX
(IINEC
STATUS
,HOME
SK
GIN
CH~CH
IS_80
WA
I T FOR REQUEST FOR MASTER
DEC
JNZ
OR
STC
OR
(IIDSKETTE_STATUS,
T I ME_OUT
STC
SET
ERROR RETURN
JMP
SHORT POPRES POP REG I STERS AND RETURN
READ
IN
THE
STATUS
RESUL
T OPERAT I
ON
I S DONE
OR
INC
IN
MOV
INC
MOV
CALL
DEC
IN
TEST
JZ
DEC BH DECREMENT
HIGH
ORDER COUNTER
JNZ
J39
REPEAT
TILL
DELAY
DONE
IN
AND
CMP
JZ
LOOP
MOV
XOR
RET
DEC
JS
PUSH
CALL
JC
MOV
PUSH
MOV
CALL
MOV
MOV
CALL
CALL
POP
POP
TEST
JZ
OR
JZ
ON
ENTRY:
J42:
J39:
·-----------------
---
- - -- -- -- -- -- -
--
-- - -- -- -
--
-
--
- - -
--
-- - - - -- --
--
READ DSKCHNG
- READS THE
STATE
OF
THE
0 I
SK
CHANGE
LI
NE
;
ON
ENTRY:
01
=
DRIVE
#
;
ON
EX
IT:
0 I =
DR
I VE #
ZF
= 0 : 0 I SK CHANGE
LI
NE I
NACTI
VE
ZF
= 1 : 0 I SK CHANGE
LI
NE ACT I VE
AX,
CX,
OX
DESTROYED
POP
RET
RESUL
TS
ENDP
POPRES:
RIO:
·--------
--
- - - - -
---
- -
--
--
--
- - - - - - - -
--
-- - -- -- -- -- -- -- -- -
--
-- - - - -
--
DR
I VE
DET
PROC NEAR
-
CALL
MOTOR
ON
CALL
RECAL-
JC
DO
BAC
MOV
CH~TRK
SLAP
CALL
SEEK-
JC
DO
BAC
MOV
CH~QUIET_SEEK+l
·---------
--
-- - - - - - -- --
---
- -
----
-- -
--
- - - - - -- -- -- -- -- -- -
--
- - - - - -
--
READ DSKCHNG PROC NEAR
-
CALL
MOTOR
ON
MOV
OX,
03F1H
IN
AL,DX
TEST
AL,DSK_CHG
RET
READ_DSKCHNG
POP
BAC:
- POP
RET
DR
I
VE_DET
ENDP
2342
2343
2344
OAEB
B1
02
2345
OAED
33
C9
2346
OAEF
2341
OAEF EC
2348
OAFO
24
CO
2349
OAF2
3C
CO
2350
OAF4
14
OE
2351
OAF6
E2
F1
2352
2353
OAF8
FE
CF
2354
OAFA
15
F3
2355
2356
OAFC
80
OE
0041
R
80
2351
OBOI
F9
2358
OB02
EB
1B
2359
2360
2361
2362
OB04
2363
OB04
42
2364
OB05
EC
2365
OB06
88
05
2366
OB08
41
2361
2368
OB09
B9
0002
2369
OBOC
E8
0000
E
2310
OBOF
4A
2311
OB10
EC
2312
OBll
A8
10
2313
OB13
14
OA
2314
2315
OBI5
FE
CB
2316
OBI1
15
02
2311
OBI9
80
OE
0041
R
20
2318
OBIE
F9
2319
2380
2381
2382
OBIF
2383
OBIF
5F
2384
OB20
C3
2385
OB21
2386
2381
2388
2389
2390
2391
2392
2393
2394
2395
2396
2391
OB21
2398
OB21
E8
0913
R
2399
OB24
BA
03F1
2400
OB21
EC
240
I
OB28
A8
80
2402
OB2A
C3
2403
OB2B
2404
2405
2406
2401
2408
2409
2410
24110B2B
2412
OB2B
E8
0913
R
2413
OB2E
E8
OA1C R
24
I 4 OB3 I
12
3E
2415
OB33
B5
30
2416
OB35
E8
OA
14 R
2411
OB38
12
31
2418
OB3A
B5
OB
2419
OB3C
2420
OB3C
FE
CD
2421
OB3E
18
26
2422
OB40
51
2423
OB41
E8
OA
14
R
2424
OB44
12
2C
2425
OB46
B8
OB11 R
2426
OB49
50
2421
OB4A
B4
04
2428
OB4C
E8
09FO
R
2429
OB4F
8B
C1
2430
OB5 I
8A
EO
2431
OB53
E8
09FO
R
2432
OB56
E8
OAE2 R
2433
OB59
58
2434
OB5A
59
2435
OB5B
F6
06
0042
RIO
2436
OB60
14
DA
2431
OB62
OA
ED
2438
OB64
14
06
2439
2440
2441
2442
OB66
2443
OB66
80
80
0090
R
94
2444
OB6B
C3
2445
2446
OB6C
2441
OB6C
80
80
0090
R 01
2448
OB11
2449
OB11
C3
2450
2451
OB12
2452
OB12
59
2453
OB13
C3
2454
2455
OB14
5-44 DISKETTE
(01/10/86)

Table of Contents

Related product manuals