Download Print this page

IMS IMSAI 8080 User Manual page 587

Advertisement

0B 8L CA530C
;
CHECK FOR OPERATORS
0BB7 FE2B
08 B9 CAC^OB
08BC
FE2D
08BE C2DA0B
0 8 C 1
3 2 9 9 1 0
oac^f 3A9C10
A S C I I
0 8 C 7
FE 0 2
0BC9 CA8A0C
OBCC 3E02
OBCE 32 9 C 1 0
OBD1 C 3A 80 8
; CHECK FOR OPERANDS
OBD<* 9-F
A S C 2 :
3A9 C10
0 8 D 5
OBD8 87
0 8 0 9 CA8A0C
OBOC
79
08DD F E 29
OBOF C2 EC03
0 8 E 2
23
0BE 3
2 2 9 6 1 0
Q3E6
2 A 9 2 1 0
0BE9 C 32 80C
; CHECK FOR A S C I I
08EC
FE27
ABC3:
OBEE C 213 OC
0 8 F 1
1 1 0 0 0 0
08 FA
0EO3
0 8 F 6
23
A SCA :
0BF7
2 2 9 6 1 0
OBFA 7E
0 8 F B FEOD
0 8 FO CAA80C
OCOO FE27
OC02 C20F0C
OC 0 5 23
0 C 0 6
2 2 9 6 1 0
0 C 0 9
7E
OCOA FE27
OCOC C 229 0C
:
OCOF OD
s s t r
0 C 1 0
CAA80C
0C 13
53
5F
OC 19
OC 15 C 3 F 6 0 8
OC 18 FE 30
ASC5 :
OC 1A DAA80C
OC 10 FE3A
OC I F
D2A70C
OC 2 2 CD630C
0C 2 5 DAA8 0C
0C 2 8
E3
AVAL :
0C 29
2A 9A 10
0C2C AF
OC 20
3 2 9 C 1 0
0 C 3 0
3 A 9 9 1 0
OC 3 3 87
0C3A C23EQC
OC 3 7 19
OC 3 8 2 2 9 A 1 0
A SC 7 :
OC 3 8 C 3A 10 8
0C 3E
7D
ASU8 :
0C3F
93
OC'tO 6F
SEND
JZ
C P I
; CHECK FOR PLUS
A S C I
JZ
• . i
; CHECK FOR MINUS
C P I
JNZ
ASC2
STA
SIGN
LDA
; FETCH OPERAND IN D IC A TO R
OPRI
2
; CHECK FOR TWO OPERATORS
C P I
; SYNTAX ERROR
JZ
ERRS
MV I
A , 2
STA
OPRI
; SET
IN D IC A TO R
JMP
NX T2
MOV
C ,A
z SAVE CHARACTER
;G E T
IN D IC A TO R
LDA
OPRI
ORA
A
; CHECK FOR TWO OPERANOS
; SYNTAX ERROR
JZ
ERRS
MOV
A , C
'$ >
; LC EXPRESSION
C P I
JNZ
ASC3
I NX
H
I N C R E M E N T P OINTE R
PNTR
; SAVE P OIN TE R
SHLD
; FETCH LO CATION COUNTER
LHLD
ASPC
JMP
AVAL
CHARACTERS
C P I
27H
; CHECK FOR S IN GLE QUOTE
; JUMP I F NOT QUOTE
JNZ
ASC5
; GET A ZERO
LX I
D , 0
; CHARACTER COUNT
MV I
C , 3
I NX
H
;BUMP P OINTE R
PNTR
; SAVE
SHLD
A,M
; FETCH NEXT CHARACTER
MOV
ASCR
; I S
I T A CR?
CPI
ERRA
; ARGUMENT ERROR
JZ
27H
C P I
; I S
I T QUOTE
JNZ
SSTR
; INCREMENT POINTER
I NX
H
PNTR
SHLD
; SAVE
MOV
A/M
; FETCH NEXT CHAR
27H
>CHECK FOR 2 QUOTES
C P I
JNZ
AVAL+1
; TERMINAL QUOTE
; CHECK COUNT
OCR
C
ERRA
; TOO MANY CHARACTERS
JZ
MOV
0 , E
MOV
E ,A
; SET CHARACTER I N SUFFER
JMP
ASCR-
; CHECK FOR NUMERIC
' O '
CPI
JC
ERRA
; IL LE GA L CHARACTER
CPI
' 9 ' +1
JNC
ALAS
; GET NUMERIC VALUE
CALL
NUMS
ERRA
/•ARGUMENT ERROR
JC
XCHG
; FETCH OPERANO
LHLD
OPRD
A
; GET A ZERO
XRA
STA
OPRI
; STOR I N OPERAND
LDA
SIGN
; GET S IG N
ORA
A
; SET FLAGS
JNZ
ASUB
OAD
D
; FORM RESULT
; SAVE RESULT
SHLD
OPRD
NX T 1
JMP
MOV
A, L
SU8
e
MOV
L . A
IN A ROW
IND ICATOR
IN D IC A TOR
12
4 9

Advertisement

loading