Download Print this page

IMS IMSAI 8080 User Manual page 560

Advertisement

0 1 3 8
E 9
;
T H I S
ROU TIN E CHECKS
;
I S
EQUAL TO ANY OF THE STRINGS
;
P O IN T E D TO BY D , E .
; OF CHARS,
; W IT H
I T .
;
T H I S
ROU TINE CAN BE USED TO SEARCH THROUGH A COMMAND
;
OR SYMBOL TA B L E.
;
A MATCH WAS FOUND;
;
A MATCH WAS FOUNO,
;
ASSO C IA TED W IT H THE CHARACTER S T R I N G .
i
P O IN T TO THE NEXT LO CATION AFTER THE END OF THE TA BLE.
01 3C
2 A 7 4 1 0
COMS :
0 1 3 F
3 A 9 5 10
0 1 4 2
4F
C D 5 3 0 1
0 1 4 3
1A
014-6
6F
0 1 4 7
0 1 4 8
13
1A
0 1 4 9
0 1 4A 6 7
01 4B C8
0 14C
13
014D
05
0 14E C 2 3 C 0 1
04
0 1 5 1
0 1 5 2 C9
t
;
T H I S
; MEMORY ARE EQUAL.
}
AND H, L .
: MATCH .
;
RETURN,
;
THE CHARACTER S T R IN G S .
1A
0 1 5 3
SEAR:
0 1 5 4
BE
0 1 5 5
C 2 5 F 0 1
0 1 5 8
23
0 1 5 9
13
015A 0D
0 1 5 3
C 2 5 3 0 1
0 15E C9
0 1 5F
13
I N C A :
0 1 6 0
0D
0 1 6 1 C 2 5 F 0 1
0 1 6 4
OC
0 1 6 5 C9
;
T H I S
;
THEN USED BY OTHER SCANNING R O U T IN E S .
0 1 6 5 AF
ZBUF :
0 1 5 7
1 18 A 10
01 6A
0 6 0C
016C
IB
:
z b u i
0 1 6D 1 2
OISE
05
P C H L
; BE
H E R E
TO SEE I F
THE TABLE C ON S IS T S OF ANY NUMBER
W IT H 2 8Y TE S C O N T A IN IN G VALUES ASSOCIATED
REG 3 C O NTA INS THE 4 OF S TR IN GS
ON RETURN,
I F
N OT,
NO MATCH WAS FOUND.
0 , E
P O IN T TO THE LAST BYTE
LHLD
ADDS
; FETCH COMPARE ADDRESS
LDA
NCHR
; GET LENGTH OF S TR IN G
MOV
C , A
CALL
SEAR
; COMPARE STRINGS
LDAX
; FETCH VALUE
D
MOV
L , A
I NX
.
D
LDAX
; FETCH VALUE
D
H , A
MOV
RZ
I NX
; SET TO NEXT S T R IN G
O
; DECREMENT COUNT
OCR
3
JNZ
COMS
I NR
B
. ;CL EAR
RET
TO SEE
ROUTINE CHE.CKS
T HE STRINGS ARE P O IN T E D TO 3Y D ,E
ON RETURN,
THE ZERO FLAG SET
REG C I N D IC A T E S
THE LENGTH OF THE S T R IN G S .
THE P OIN TE R S
P O IN T TO THE NEXT ADDRESS AFTER
LDAX
D
; FETCH CHARACTER
M
CMP
; COMPARE CHARACTERS
JNZ
INCA
I NX
H
I NX
D
C
; DECREMENT CHARACTER COUNT
OCR
SEAR
JNZ
RET
I NX
D
OCR
C
INCA
JNZ
I NR
C
; CLEAR ZERO FLAG
RET
ROU TINE ZEROES OUT A BUFFER
XRA
A
; GET A ZERO
LX I
D , A B U F + l 2 ; BUFFER ADDRESS
MVI
8 , 12
;8 U F F E R LENGTH
OCX
D E C R E M E N T ADDRESS
D
O
STAX
;ZERO BUFFER
OCR
a
NOW
A BASE CHARACTER STRING
CONTAINED
IN A TABLE
TO COMPARE.
I F
THE ZERO FLAG
I S
IF
I F
N OT,
D ,E
ZERO FLAG
I F
TWO CHARACTER STRINGS
I N D IC A T E S A
IN MEMORY WHICH IS
SET ,
I
CN

Advertisement

loading