IBM 5150 Technical Reference page 158

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
feSA S3
EC58 51
Eesc IE
Ee50 56
ECSf 57
ECSF 55
Ee60 52
fe6l saEe
fe63 f8D812
Ee66 f81COO
£C69 880400
ECbe E8FDDI
EC6F 88264000
feB 6A26410Q
fe77 eo FeD I
Ee7A F5
Ee7B SA
Ee7t 50
EC70 SF
Ee7f 5f
Ee7F IF
fceo
S9
EC81 58
fC82 CA0200
EC65
EC85 BAFD
Ee87 80263F007F
feec
OAE4
ECSE 7427
£C90 fEee
£C92 7473
EC94 C606410000
£C99 80FA04
EC9C 7313
EC<;IE FEee
ECAO 7469
ECAl FEee
ECA4 7503
ECAb E99500
ECA9
ECA9 FEee
£CAB 7467
ECAD FEee
ECAF 7467
ECSI
ECBl C606410001
EeM C3
ECB7
feB7 BAF201
ftBA fA
ECBB A03FOO
fCSE 8104
Eeeo 02EO
fCC2 A820
ECC4 750C
Eceb A840
Ecce 7506
ECCA A680
Ecce 7406
ECCE FEeD
ECDO
ECDO FEeD
fCD2
fC02 FEeD
ECD4
ECD4
ocoe
fC06 EE
EC07 C6063£0000
ECOC C606410000
feEl OC04
fcn
EE
LINE
SOURCE
2464
PUSH
BX
; SAVE ADDRESS
2485
PUSH
CX
2486
PUSH
OS
; SAVE SEGMENT REGISTER VALUE
2487
PUSH
SI
; SAVE All REGISTERS
~URING
OPERATION
2488
PUSH
01
2489
PUSH
BP
2490
PUSH
ox
2491
tIDV
BP,SP
J SET UP POINTER TO HEAD PARM
2492
CAll
DDS
2493
CAll
Jl
J CAll THE REST TO ENSURE OS RESTORED
2494
I10V
BX,4
J
GET
THE MOTOR WAIT PARAMETER
2495
tALL
GET_PARH
2496
MOV
HOTOR_COUNT ,AH
, SET THE TIMER COUNT FOR THE MOTOR
2497
MOV
AH,DISKETTE_STATUS
; GET STATUS OF OPERATION
2496
CMP
AH,I
; SET THE CARRY FLAG TO INDICATE
2499
CMC
I
SUCCESS OR FAILURE
2500
POP
OX
; RESTORE All REGISTERS
2501
POP
BP
2502
pop
01
2503
pop
51
2504
POP
OS
2505
POP
CX
2506
pop
BX
J RECOVER ADDRESS
2507
OET
2
I THROW AWAY SAVED FLAGS
2508
DISKETTE_IO
ENOP
2509
2510
J1
PROC
NEAR
2511
MOV
DH,Al
, SAVE I SECTORS IN DH
2512
AND
MOTOR_STATUS,07FH
I
INDICATE A READ OPERATION
2513
OR
AH,AH
; "H=O
2514
JZ
DISK_RESET
2515
DEC
AH
I
AH=1
2516
JZ
2517
ttoV
DISKETTE_STATUS,O
I RESET THE STATUS INDICATOR
2518
CMP
Dl.4
I TEST FOR DRIVE IN 0-3 RANGE
2519
JAE
J3
I ERROR IF ABOVE
2520
DEC
AH
; AH=2
2521
JZ
DISK_READ
2522
DEC
AH
; AH:03
2523
JNZ
J,
I TEST_DISK_VERF
2524
JMP
DISK_WRITE
2525
J2:
; TEST_DISK_VERF
2526
DEC
AH
, AH=4
2527
JZ
DISK_VERF
2526
DEC
AH
I AH=5
2529
JZ
DISKJORMAT
2530
J3:
2531
ttoV
DISKETTE_STAnJS.BADStID I ERROR COCE. NO SECTORS TRANSFERRED
2532
RET
I UNDEFINED OPERATION
2533
J1
ENOp
2534
2535
j - - - - -
RESET THE DISKETTE SYSTEM
2536
2537
PRot
NEAR
2536
OX,03F2H
I ADAPTER COHrnOl PORT
2539
CLI
; NO INTERRUPTS
2540
; ....ICH MOTOR IS ON
2541
HoY
Cl,4
I SHIFT COUNT
2542
SAL
Al.Cl
I MOVE MOTOR VAlUE TO HIGH NYBBlE
2543
TEST
Al. 20H
; SELECT CORRESPOHDING DRIVE
2544
JNZ
J5
J JUMP IF MOTOR ONE IS ON
2545
TEST
Al. 40H
2546
JNZ
J4
; JUMP IF MOTOR TWO IS ON
2547
TEST
Al, 60H
2548
JZ
J6
i
JUMP IF MOTOR ZERO IS ON
2549
INC
AL
2550
J4:
2551
INC
AL
2552
J5:
2553
INC
AL
2554
J6:
2555
00
AL.a
,
T~N
ON INTERRUPT ENABLE
2556
IXJT
DX.Al
I RESET THE ADAPTER
2557
MOV
SEEK_STATUS ,0
i
SET RECAl REQUIRED ON All DRIVES
255a
MOV
DISKETTE_STATUS ,0
; SET OK' STATUS FOR DISKETTE
2559
OR
Al,4
; TURN OFF RESET
2560
OUT
DX,At
; TURN OFF THE RESET
System BIOS 5-65

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents