IBM 5150 Hardware Reference Manual page 231

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
Ef'tD £67200
2716
CAll
CHK_STAT_2
; GET THE INTERUPT AND SENSE INT STATUS
fEAG 7229
2717
JC
J32
; SEEK_ERROR
2718
2719
;---- ­
DRIVE IS IN SYHCH WITH CONTROLLER. SEEK TO TRACK
2nD
fEA2
2721
J28:
fEAt 840F
2722
HOY
AH,OfH
; SEEK COt1t1AND TO NEe
EEA4 E89DFF
2723
C.6.LL
tlfC_OUTPUT
EfA7 6A£2
2724
HOY
AH,Dl
; DR lYE NUMBER
EfA9 E896FF
2725
CALL
NEC_OUTPUT
£EAC 8AE5
2726
MOV
AH,CH
; TRACK tu1BER
EEAE £893FF
2727
CALL
NEC_OUTPUT
fEB 1 £85£00
2728
CAll
CHK_STAT_2
J GET ENDING INTERRUPT AND SENSE STATUS
2729
2730
;----- WAIT FOR HEAD SUTlE
2731
EE84 9t
2732
PUSHF
; SAYE STATUS FLAGS
fEes B81200
2733
HOY
BX,l8
; GET HEAD SETTLE PARAMETER
fEB8 f8BSFF
2734
CALL
GET_PARM
fEBB 51
2.735
PUSH
CX
; SAVE REGISTER
fE8C
2736
J29:
; HEAD_SETTlE
EEBC 892602
2737
MOV
CX,550
; 1 HS lOOP
fEBf OAE4 ­
2736
OR
AH,AH
; TEST FOR TIME EXPIRED
EECI
740b
2739
JZ
J31
EEe] E2FE
2740
J30:
LOOP
J30
; DELAY FOR
1
NS
EEtS FEce
2741
DEC
AH
; DECREMENT THE COUNT
EEe7 ESFl
2742
JMP
J'9
; DO IT SONE NOR E
EEC9
2743
J31:
EfC9 59
2744
POP
ex
; RECOVER STATE
EEeA 90
2745
POPF
fEeB
2746
J32:
; SEEK_ERROR
EEeB C3
2747
RET
; RETURN TO CALLER
2748
SEEK
ENOP
2749
; --------------------------­ ----------------­
2750
; DNA_SETUP
2751
THIS ROUTINE SETS UP THE DNA FOR READ/WRITE/VERIFY
2752
OPERATIONS.
2753
I
INPUT
2754
(AL) = NOOE BYTE
FOR
THE DNA
2755
(ES:BX) - ADDRESS TO READI'WRlTE THE DATA
2756
; OUTPUT
2757
{AXI DESTROYED
2756
eEee
2759
DNA_SETUP
PROC
NEAR
EEce 51
2760
PUSH
CX
; SAVE THE REGISTER
EECD Eboe
2761
OUT
DMA+12.AL
; SET THE FIRST/LAST F/F
eEeF E60a
2762
OUT
ONA+Il.AL
; OUTPUT THE MOOE BYTE
fEDl aceD
2763
HOV
AX,ES
; GET THE ES VALUE
fED3 8104
2764
MDV
CL,4
; SHIFT COUNT
fEOS 03eo
2765
ROL
AX.CL
; ROTATE LEFT
fED7 8A£8
2766
HOV
CH .AL
; GET HIGHEST NYBLE OF ES TO CH
EED9 24FO
2767
AND
AL.OFOH
; ZERO THE LOW NYBBLE FROM SEGMENT
fEoe 03e]
2766
ADD
Ax.ex
; TEST FOR CARRY FROM ADDITION
EEOD 7302
2769
JNC
J33
HOF FEes
2770
INC
CH
I CARRY MEANS HIGH 4 BITS MUST BE INC
fEEL
2771
J33:
fEEl 50
2772
PUSH
AX
; SAVE START ADDRESS
fEEZ £604­
2773
OUT
DMA+4.AL
; OUTPUT LOW ADDRESS
EEE4 8AC4­
2774
NOV
AL,AH
EEE6 £604
2775
OUT
DHA+4,AL
I OUTPUT HIGH ADDRESS
fEES 8ACS
2776
HOV
AL.CH
; GET HIGH 4 BITS
fEEA 240F
2777
MiD
AL.OFH
EEEC E681
2778
OUT
oalH,At
; OUTPUT THE HIGH 4 BITS TO PAGE REGISTER
2779
2780
;------ DETERMINE COUNT
2761
EEEE 8Af6
2782
MOY
AH,DH
; NUNBER OF SECTORS
EEFO 2ACO
2783
sua
AL,Al
;
TINES 256 INTO AX
EEFt 01E8
2784
SHR
AX,I
• SECTORS
*
128 INTO AX
EEF4 50
2765
PUSH
AX
EEF5 880600
2766
MOV
BX,6
; GET THE BYTES/SECTOR F'ARH
fEFS Ea7sFF
2787
CALL
GET_PARM
EHB BAce
2788
HOV
Cl,AH
; USE AS SHIFT Coutrr {(I=128. 1=256 ETC)
fEFO 58
2789
POP
AX
fEFE 03EO
2790
SHL
AX.CL
; MULTIPLY BY CORRECT AMOUNT
EFOO 48
2791
DEC
AX
; -1 FOR DMA VALUE
EF01 50
2792
PUSH
AX
; SAVE COUNT VALUE
A-38

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents