Download Print this page

IMS IMSAI 8080 User Manual page 569

Advertisement

;
A N D C H E C K
;
T H IS
ROUTINE
;
EACH VALUE
;
VALUES GREATER THAT 25 5 W IL L CAUSE CARRY TO 3E SET
AND RETURN TO BE MADE TO C A LL IN G PROGRAM
;
ENTR:
0 9 7 6
CALL
C D 0 0 0 3
CD83Q9
CALL
0 9 7 9
097C
DA5A09
JC
0 9 7 F
CALL
CD 0E 01
RET
098 2 C9
0 0 2 F
EEND
EQU
0 9 8 3 COO E 0 1
ENTS:
CALL
0 9 8 6
C D 800 0
CALL
2 1 C 7 1 0
LX I
0 9 8 9
09 8C
2 2 9 6 1 0
0 9 8 F
ENT1 :
CALL
C D 560 1
0 9 9 2
CALL
CD0D09
DA 8 3 0 9
JC
0 9 9 5
0 9 9 3
F E 2 F
C P I
09 9A
C8
09 9B
C D 75 08
CALL
0 9 9 E
78
MOV
0 9 9 F
FE 03
09A 1 3F
09 A2 D 8
09 A3
0 1 7 E 1 0
09A6
C D 1S 02
09 A9
D8
09AA
7D
09 A8
2A8 A10
0 9AE
77
09AF
C D 7 5 0 2
09B2
C 3 8 F 0 9
/
;
T H IS
ROUTINE
/ A R E A .
;
A V A L I D NUMBER C0
;
I F
I T
;
I F
I T
i
CURRENT F I L E AND THE MAXIMUM L I N E
; WELL AS THE END OF F I L E
; ALREADY E X I S T ARE
;
APPROPRIATE PLACE AND ANY EXTRA CHARACTERS
; L I N E
ARE DE LE TE D .
3 A 2 9 1 0
0 9B5
L I N E :
09B8
B7
09B9 C A5A 09
0 98C
0 E09
09 BE
2 ICS 10
:
09C1
23
l i c k
09C 2 7E
09C3
FE 50
09 C5
DA5A09
09C8
FE3A
09CA D 2 5 A 0 9
09CD
0D
09 CE C 2 C 1 0 9
09D1
2 2 7 9 1 0
0 9 0 9
1 1 3 0 1 0
F O R
E R R O R
ON
R E T U R N
IS
USED TO ENTER DATA VALUES
IS
ONE BYTE AND IS W R IT T EN
; CHECK FOR PARAMETERS
VCHK
ENTS
WHAT
CRLF
; T E R M IN A T IO N CHAR
' / '
CRLF
; READ IN PU T DATA
READ
H , I B U F
; SET L I N E
PNTR
; SAVE P OINTE R
SHLO
ZBUF
; CLEAR BUFFER
; CAN TO F I R S T VALUE
SBLK
ENTS
; JUMP IF
EEND
; RETURN CARRY
RZ
ALPS
; PLACE VALUE
; GET D I G I T
A , B
C P I
3
; CHECK NUR OF D I G I T S
CMC
; RETURN I F
RC
B,ABUF
C O N V E R S IO N AOORESS
LX I
AHEX
C O N V E R T VALUE
CALL
; ERROR I N HEX CHARACTER
RC
MOV
A , L
BBUF
; FETCH MEMORY ADDRESS
LHLD
; PUT
IN MEMORY
MOV
M, A
ACH1
; INCREMENT MEMORY LOCATION
CALL
ENT1
JMP
I S
USED TO ENTER L I N E S
THE L I N E NUMBER I S
F I R S T CHECKED TO SEE I F
000-9999
) .
NEXT
IS GREATER THAN THE MAXIMUM CURRENT L I N E NUMBER.
IS ,. THE NEXT L I N E
I S
INSERTED AT THE END OF THE
P O S I T I O N .
INSERTED
INTO
LOA
P I LEO
; I S A F I L E
A
ORA
WHAT
; ABORT I F
JZ
MV I
C , 9
; NO OF D I G I T S
LX I
H , I B U F - 1
I NX
H
MOV
A ,M
; FETCH L I N E
C P I
C H E C K FOR V A L ID NUMBER
1 0 '
uc
WHAT
CPI
' 9 ' + 1
WHAT
JNC
OCR
C
JNZ
LI C K
SHLO
ADOS
;F IN D -A D D R E S S
LX I
D . MAXL +5
INTO MEMORY.
IN HEXADECIMAL
P OINTE R
CR FOUND
IS
ZERO
IN BUFFER
COUNT
MORE THAN
2 D I G I T S
INTO THE F I L E
I T
IS
I T
IS
CHECKED TO SEE
NUMBER
I S UPDATED AS
L I N E NUM8ERS THAT
THE F I L E
AREA AT THE
IN THE OLD
D E F I N E D ? . . .
NOT
TO CHECK
; I N I T I A L I Z E
AOORESS
D I G I T
: G E T ADDRESS
1 2
- 31

Advertisement

loading