EasyManua.ls Logo

IBM 5150 - Page 162

IBM 5150
309 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...
LOC
OBJ
LINE
SOURCE
EE3B
2792
J22:
I
OPN_OK
EnB
f87001
2793
CALL
Nln1_TRANS I
HOW
MANY
GOT
HOYED
EDE
32£4
2794
XOR
AH.AH
I
NO
ERRORS
E£40
C3
2795
RET
2796
RW_OPH
EtIlP
2797
1-------------------------------------------------------.-----.----------
2798
J NEt_OUTPUT
2799
THIS
ROUTINE
SENDS
A
BYTE
TO
THE
NEe
COtITROLlER
AFTER
TESTING
2800
FOR
CORRECT
DIRECTIOt-l
AND
CONTROLLER
READY
THIS
ROUTINE
WILL
2801
TIME
OUT
IF
THE
BYTE
IS
NOT
ACCEPTED
WITHIN
A
REASONABLE
2802
AHOUNT
OF
TIHE.
SETTING
THE
DISKETTE
STATUS
ON
COMPLETION.
2803
; INPUT
2804
(AH'
BYTE
TO
BE
OUTPUT
2805
I
OUTPUT
2606
ty
= 0
SUCCESS
2807
tY
= 1
FAILURE
--
DISKETTE
STATUS UPDATED
2806
IF
A
FAILURE
HAS
OCCURRED,
THE
RETIJRN
IS
HADE
ONE
LEYEl :
2809
HIGHER
THAN
THE
CALLER
OF
HEt_OUTPUT.
2810
THIS
REMOVES
THE
REQUIREMENT
Of
TESTING
AFTER
EVER'(
2811
CALL
Of
NEC_OUTPUT.
21312
2813
(A.L)
DESTROYED
J------------------------------------------------------------------------
EE41
21314
NEC_OUTPUT
PROC
NEAR
EE41
52
2815
PUSH
OX
I
SAVE
REGISTERS
EE42
51
2816
PUSH
ex
E£43 BAF403
21317
MOV
DX.03f4H
j
STATUS
PORT
EE4b 33C9
2818
><OR
CX,CX ;
COUHT
FOR
TIME
OUT
EE4a
2819
J23:
EE4a
EC
21320
IN
AL.DX I
GET
STATUS
EE49 A840
21321
TEST
Al,040H
I TEST DIRECTION
BIT
EE4B
740C
21322
JZ
JZS
i DIRECTION
OK
EE40 E2F9
2823
LOOP
J<3
EE4F
2824
J24:
i
TIME.
ERROR
EE4F
800E410080
2825
OR
DISKETTE_STATUS, TIME_OUT
££54
59
2826
POP
ex
EE55
SA
2827
POP
ox
1 SET
ERROR
CODE
AND
RESTORE
REGS
EE5&
58
2828
PDP
AX
1 DISCARD
THE
RETURN
ADDRESS
EE57 F9
2829
STe ; INDICATE
ERROR
TO
CALLER
~
EE58 C3
2830
RET
EE59
2831
J25:
EE59 33C9 2832
XDR
CX.ex
I
RESET
TME
cc:urr
EEse
2833
J:!6:
EESB
EC
2834
IN
AL.OX
I
GET
TME
STATUS
fESC A880
2835
TEST
AL,080H
i
IS
IT
READY
£ESE
7S04 2836
JHZ
JZ7
1 YES.
GO
OUTPUT
EE60 E2F9
2837
lOOP
JZ6
1
COUNT
DOWN
AND
TRY
AGAIN
EE62
EBEB
2838
JNP
J24
I
ERROR
CONDITION
EE64
2839
J27:
I
OUTPUT
EE64 8AC4 2840
t10V
AL.AH I
GET
BYTE
TO
OUTPUT
£E66 B2FS 2841
MOV
DL.OFSH
1
DATA
PORT
«3FS)
£E68
EE
2842
OUT
DX.AL
;
OUTPUT
TH
E
BYTE
EEb9
59
2843
POP
ex
I
RECOVER
REGISTERS
EEbA
5A
2844
POP
ox
EE6B
C3
2845
RET
;
tY
= 0 FRott TEST INSTRUCTION
2846
NEC_OlITPUT
ENOP
2847
;
------------------------------------------------------------------------
2848
;
GET_PA.RM
2849
I
THIS
ROUTINE
FETCHES
THE
INDEXED POItrrER
FROH
THE
DISK_BASE
2850
BLOCK
POItrrED AT
BY
THE
DATA
VARIABLE DISK_POINTER. A
BYTE
FROH
:
2851
THAT
TABLE
IS
THEN
HOVEO
INTO AH,
THE
ItilEX
Of
THAT
BYTE BEING
2852
TM£
PARH
IN
BX
2853
ENTRY
--
2854
ex
=
ItI)EX
OF
BYTE
TO
BE
FETCHED
* 2
2855
IF
THE
LOW
BIT
OF
ex
IS
ON.
THE
BYTE
IS
ItltEDIATELY
OUTPUT
2856
TO
THE
NEC
CONTROLLER
2857
;
EXIT
--
2858
AH
=
THAT
BYTE
FROJ1
BLOCK
2859
J------------------------------------------------------------------------
EE6C
2860
GET_PAIfI'1
PROC
NEAIf
~
EEbC
IE
2861
PUSH
as
J
SAVE
SEGMENT
EE6D
28co
2862
SUB
AX,AX i
ZERO
TO
AX
EE6F
eED8
2563
t10V
DS,AX
2864
ASSlI1E
DS:ABSO
£E71
C5367800
28b5
LOS
SI.DISK_POINTER
; POINT
TO
BLOCK
EE75
DIEB
2866
SHR
BX.l
I
DIVIDE
BX BY
2,
At«<)
SET FLAG
286?
I
FOR
EXIT
EE77 8A20
2868
MOV
AH,IS1+8X]
;
GfT
THE
WORD
System
BIOS
5-69

Table of Contents

Other manuals for IBM 5150

Related product manuals