Compucolor.org – Virtual Media

Listing of file='INDEX.MAC;02' on disk='vmedia/asm_utility_4-sideA-sector.ccvf'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	INDEX - FIND THE INDEX OF A CHARACTER IN A STRING
;
;	VALUES ON ENTRY:
;	   A  -  CHARACTER TO LOOK FOR
;	   HL => STRING - TERMINATED BY A NULL (0)
;
;	RETURNS:
;	   <Z> - CHARACTER FOUND
;		 A = INDEX NUMBER IN STRING
;	  <NZ> - CHARACTER NOT FOUND
;		 A = LENGTH OF STRING + 1
;
;	DESTROYS:
;	   HL INCREMENTED TO CHARACTER IN LIST
;

	ENTRY	INDEX

INDEX:	PUSH	B
	MVI	B,1
	MOV	C,A
IND10:	MOV	A,M
	ORA	A
	JZ	IND20
	CMP	C
	JZ	IND30
	INX	H
	INR	B
	JMP	IND10
IND20:	INR	B
IND30:	MOV	A,B
	POP	B
	RET