EasyManua.ls Logo

IBM 5150

IBM 5150
393 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...
LOC
OBJ
LINE
SOURCE
EE52:
800£410080
2639
OR
o
ISKETTE_ST
ATUS.
TIME_OUT
££57
59
2640
POP
CX
EE58
SA
2641
POP
OX
;
SET
ERROR
CODE
AND
RESTORE
REGS
EES9
56
2.642
POP
AX
; DISCARD
THE
RETUF!N
ADDRESS
EESA
F9
2643
STC
;
INDICATE
ERROR
TO
CALLER
EES9
C3
2644
Rn
2645
EESC
2646
J25:
EESC
33C9
2647
XOR
cx.cx
; RESET THE
COUUT
EESE
2648
J26:
EESE
EC
~649
IN
.u,ox ; GET
THE
STATUS
EESF AB80
2650
TEST AL.OBOH
J
IS
IT
READY
J""
r""\
fE61
7504
2651
J27
I
YES.
GO
OUTPUT
fE63
E2F9
2652
LOOP
J2.
J
COUNT
omm
AHD
TRY
AGAIN
fE65
EBEB
2653
J"P
J2'
J
ERROR
CONDITION
fE67
2654
J2:7:
;
OUTPUT
fE67
84C4
2655
t10V
AL,AH • GET BYTE
TO
OUTPUT
E£69 BAF501
2656
DX,03F5H
; DATA PORT
""V
Efbe
EE
2657
OUT
OX.AL
; OUTPUT THE BYTE
EE60
59
2:658
POP
CX
;
RECOVER
REGISTERS
fE6E
5A
2659
POP
OX
EE6F
C3
2.660
Rn
;
CY
= 0
FROM
TEST INSTRUCTION
2661
NEt_OUTPUT
ENOP
2662
;
---
-----
---
------
----
--
--
---
---
--
---------
2663
; GET_PARM
2664
I
THIS
ROUTINE fETCHES
THE
IHOEXED POINTER
FROM
2665
I
THE
DISK_BASE
BLOCK POINTED AT BY THE DATA
2666
I
VAF!IABLE
DISK_POINTER
2667
; A
eYTE
FROM
THAT TABLE
IS
THEN
HOVED
INTO
AH,
2668
; THE
INDEX
OF
THAT BYTE
BEING
THE PARrt
IN
ex
2669
; ENTRY
--
2670
BX =
INDEX
OF
BYTE
TO
BE
FETCHED * 2
2671
IF
THE lOW
BIT
OF
ex
IS
ON.
THE
BYTE
IS
IMMEDIATELY
2672
OUTPUT
TO
THE
NEC
CONTROLLER
2673
EXIT
--
2674
AH
= THAT BYTE fROM BLOCK
2675
; -
-------------------------------------------
r""\
EE70
2676
GET_PARl1
PROC
t~EAR
E£70
IE
2677
PUSH
as
SAVE
SEGMENT
EE71
2BCO
2678
SUB
AX.AX
J
ZERO
TO
AX
EE73
8E08
2679
"OV
OS,AX
2680
ASSUME
OS:ABSO
E£75
C5367800
2681
LOS
51
,DISK_POINTER
;
POINT
TO
BLOCK
EE79
DIES
2682
SHR
ax,l ;
DIVIDE
BX BY
2.
AND
SET
flAG
FOR
EXIT
EE7B
8A20
2683
"OV
AH,lSI+BXl
; GET THE
WORD
EE7D
IF
2684
POP
OS
j RESTORE
SEGMENT
268S
ASSUME
OS:OATA
EE7E
72C4
2686
JC
NEC_OUTPUT
;
IF
FLAG
SET,
OUTPUT TO CONTROLLER
EE80 C3
2687
RET
; RETURN
TO
CALLER
2688
GET_PARI1
ENOP
2689
;--------------------------------------------
2690
; SEEK
2691
THIS
ROUTINE
WILL
MOVE
THE
HEAD
ON
THE
NAMED
DRIVE
2692
TO
THE
NAMED
TRACK.
IF
THE
DRIVE
HAS
NOT
BEEN ACCESSED
2693
SINCE
THE
DRIVE
RESET
COMMAND
WAS
ISSUED,
THE
DRIVE
WILL
BE
2694
RECALIBRATED.
2695
;
INPUT
.2:696
(DU
=
DRrVE
TO
SEEK
ON
2697
(CH)
=TRACK
TO
SEEK
TO
2698
; OUTPUT
2699
CY
= 0 SUCCESS
2700
CY
= 1
FAILURE
--
DISKETTE_STAn../S SET ACCORDINGLY
2701
(AX
I DESTROYED
2702
;
--
-
--------------------
-----------
-----
-
----
EE81
2703
SEEK
PROC
HEAR
EE8l·
8001
2704
MV
AL,1
;
ESTABLISH
MASK
fOR RECAL TEST
EE63
51
2705
PUSH
CX
; SAVE
INPUT
VALUES
EE84
8ACA
2706
CL,OL
; GET
DRIVE
VALUE
INTO
CL
r""\
""V
EE86
D2CO
2707
ROL
AL,CL
;
SHIFT
IT
BY
THE
DRIVE
VALUE
EE88
59
2708
POP
CX
;
RECOVER
TRACK VALUE
EE89
84063EOO
2709
TEST
AL,SEEK_STATUS
; TEST
FOR
REeAL
REQUIRED
EE8D
7513
2710
JIlZ
J2.
-;
NO_RECAl
EE8F 06063EOO
2711
OR
SEEK_STATUS,AL
; TURn
ON
THE
HO
RECAL
BIT
IN
FLAG
EE93
6407
2712
"OV
AH
,07H
i RECALIBRATE
COMMAND
EE95 E6ACFF
2713
CALL
NEC_OUTPUT
EE98 6AE2 2714-
"OV
AH,DL
EE9A
E6A7FF
2715
CALL
tlEC_OUTPUT
; OUTPUT THE
DRIVE
HUMBER
A-37

Table of Contents

Other manuals for IBM 5150

Related product manuals