帮忙看看这段代码谢谢
INCLUDE Irvine32.inc.data
target BYTE "123ABC342432",0
source BYTE "ABC",0
.code
find PROC,
sString:PTR BYTE,
tString:PTR BYTE
mov esi,sString
mov edi,tString
mov eax,1 //从第一个字符开始匹配
mov al,[esi]
mov dl,[edi]
L1:
cmp al,0 //source字符串是否为空(或则到了末尾)?
jne L2
jmp L4
L2:
cmp dl,al
jne L3 //如两个字符相等,则比较下一个字符
inc esi
inc edi
mov al,[esi]
mov dl,[edi]
jmp L1
L3: //不相等 target地址+1
inc edi
inc eax
mov dl,[edi]
jmp L1
L4:
ret
find ENDP
END find
main PROC
INVOKE find,ADDR source,ADDR target
call WriteInt
call Crlf
exit
main ENDP
END main
在target字符串中找到source字符串并返回其位置,
也就是说我希望输出的值是 4
这段代码虽然很不完善 但是应该还是能出4,编译成功,执行报错.....
大家帮忙看看