home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Source Code 1992 March
/
Source_Code_CD-ROM_Walnut_Creek_March_1992.iso
/
msdos
/
c
/
jazlib.arc
/
JZSTRPOS.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-02-15
|
924b
|
53 lines
assume cs:_text
_text segment public byte 'code'
public _jzstrpos
_jzstrpos proc near
push bp
mov bp,sp
push si
push di
mov si,[bp+4] ; address of object
mov di,[bp+6] ; address of target
dec di
next1:
inc di
mov bl,[si] ; source index
mov bh,[di] ; destin index
cmp bh,0 ; end of string ?
jz notfound ; yes , exit
cmp bh,bl ; are they equbl ?
jnz next1 ; keep looping until eos or equbl
mov ax,di ; get pointer to possible match
dec si
dec di
next2: ; found a match so now check for match
inc si
inc di
mov bl,[si]
mov bh,[di]
cmp bl,0
jz found ; go back and look for more
cmp bh,0
jz notfound
cmp bh,bl
jz next2
mov si,[bp+4] ; point back to first char of string
jmp next1
notfound:
mov ax,0 ; return null pointer
found:
pop di
pop si
mov sp,bp
pop bp
ret
_jzstrpos endp
_text ends
end