Download Print this page

IMS IMSAI 8080 User Manual page 574

Advertisement

0 6 2 F
CMP
BE
0 6 3 0
23
0 6 3 1
23
0 6 3 2 C A 3 6 0 6
23
0 6 3 5
0 5 3 6 C D 9 2 0 5
DEL3 :
2 1 3 0 1 0
0 6 3 9
063C C D 9 A 0 5
0 6 3 F
C9
0 6 9 0
B8
D E L9 :
0 6 9 1
EB
DELS :
0 5 9 2
C 2 3 5 0 6
3 2 2 D 1 0
0 6 9 5
0 6 9 8 C9
;
GET HERE I F
NOVR :
0 6 9 9
C D 5 A 0 5
069C
C C 6C 05
0 69 F
EB
NOV 1 :
0 6 5 0
2 A 7 2 1 0
0 6 5 3
0EO1
0 6 5 5
C D 8 0 0 5
0 6 5 8
2 2 2 3 1 0
3 6 0 1
0 6 5 3
Q65D C9
■ STA R TIN G HERE
;
T H I S
PROGRAM ASSEMBLES PROGRAMS WHICH ARE
;
I N
THE F I L E
:
06 5 E COO 00 3
a s s m
0 6 6 1
3 A 8 2 1 0
0 6 6 9
B?
0 6 6 5
C 2 6 E 0 6
0 6 6 8
2 A 8 A 1 0
0 6 6 8
2 2 8 C 1 0
06 6 E
3A CB10
ASM9 :
0 6 7 1
D 6 9 5
0 6 7 3
3 2 8 E 1 0
AF
0 6 7 6
0 6 7 7
3 2 9 8 1 0
0 6 7A 3 2 9 9 1 0
A SM3 :
Q67D C D 0 E 0 1
0 6 8 0
2 A 8 A 1 0
0 6 8 3
2 2 9 2 1 0
0 6 8 6
2 A 2 9 1 0
0 6 8 9
2 2 7 2 1 0
A SMI :
068C
2 A 7 2 1 0
0 6 8 F
3 1 3 2 1 0
0 6 9 2
7E
0 6 9 3
F E 0 1
0 6 9 5
C A 0 1 0 9
0 5 9 8
EB
13
0 6 9 9
069A
2 1 B 2 1 0
0 6 9 0
3 EC2
0S9F C D E 1 0 0
06A 2 OEOD
06A9 C D 8 0 0 5
0 6A 7 71
0 6A8
EB
0 6A9
2 2 7 2 1 0
3 A 9 9 1 0
06AC
0 6AF B7
0 SB 0 C 2 8 9 0 6
CDCC06
0 6 3 3
M
;
e n d
o f
H
I NX
H
I NX
JZ
DEL 3
IN X
H
LODM
;LOAD NEW MAX UN
CALL
LX I
H ,M A X L + 3
CALL
STOM
; STORE NEW MAX LN
RET
CMP
B
; CHECK SWITCH
XCHG
JNZ
D E L 3 - 1
STA
MAXL
;MAKE MAX LN A SMALL NUMBER
RET
D E L E T IO N
I
F I 1
; F I N D
CALL
CZ
F I 2
; N E X T L I N E
XCHG
LHLD
;CHAR MOVE TO P O S I T I O N
DELP
c,i
MV I
;MOVE TERMINATOR
C-ALL
LMOV
^COMPACT F I L E AREA
; SET EOF P O S I T I O N
SHLD
EOF P
MV I
; S E T EOF
M ,1
RET
IS
THE SELF ASSEMBLER PROGRAM
AREA
VCHK
CALL
; CHECK FOR PARAMETER
LDA
ABUF+9
;G E T
2ND PARAMETER
ORA
A
;CHECK FOR PARAMETERS
JNZ
ASM9
LHLD
88UF
; FETCH
SHLD
8BUF+2
; STORE
IB U F + 9
;F ET C H
l d a
t E t
;R E S E T A I F
S U I
STA
AERR
; SAVE ERROR FLAG
A
XRA
;G E T A ZERO
STA
NOLA
; I N I T I A L IZ E
STA
PASI
; SET PASS
CRLF
; I N D I C A T E
CALL
LHLD
8BUF
;F E T C H O R I G I N
SHLD
ASPC
; I N I T I A L I Z E
BOFP
LHLD
; GET START OF F I L E
SHLD
APNT
APNT
LHLD
; FETCH L I N E
LX I
S P , A R E A + 1 8
MOV
A,M
; FETCH CHARACTER
C P I
I
; END OF F I L E ?
JZ
; JUMP I F
EASS
XCHG
IN X
D
; INCREMENT ADORESS
H ,C 8 U F
LX I
; BLANK START ADDRESS
MV I
A , I S U F - 5 AND OFFH ; BLANK ENO ADDR
CALL
CLER
; BLANK OUT BUFFER
MVI
C,ASCR
; STOP CHARACTER
CALL
LMOV
;MOVE L I N E
MOV
M,C
; PLACE CR I N BUFFER
XCHG
SHLD
APNT
; SAVE ADDRESS
LDA
PAS I
;F ET C H PASS
ORA
A
; SET FLAGW
; JUMP I F
JNZ
ASM2
CALL
P A S I
p r e v i o u s
l i n e
; SET ADDRESS
END OF D ELE TE AREA
I F
T H I S LN EQUAL
IN OIC A TO R
1S T PARAMETER
IN TO 2ND PARAMETER
IN P U T CHARACTER
ERRORS ONLY
LABEL COUNT
IN O IC A TO R
START OF PASS
PC
P O IN TE R
END OF F I L E
.
INTO BUFFER
IN D IC A TO R
PASS
2

Advertisement

loading