从一个字符串中查找一个指定字符‘!’
代码如下:DATA SEGMENT
STR1DB'HELLO,WORLD!'
LEN1EQU $-STR1
MSG1DB'NOTFIND$'
MSG2DB'FIND$'
DATA ENDS
;******************
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
;********************
MOV CX,LEN1
LEA DI,STR1
MOV AL,'!'
CLD
REPNZ SCASB
JZ FIND
LEA DX,MSG1
MOV AH,09H
INT 21H
JMP FINISH
FIND:
LEA DX,MSG2
MOV AH,09H
INT 21H
;********************
FINISH:
MOV AH,4CH
INT 21H
CODE ENDS
END START
运行之后结果总为"NOTFIND",可是一直查不出问题:mad:,求大神指教。。。
在MOV DS,AX后面加一句mov es,ax就行了
REPNZ SCASB 对比的是es:的内存。 liangfei44 发表于 2013-9-6 23:59 static/image/common/back.gif
在MOV DS,AX后面加一句mov es,ax就行了
REPNZ SCASB 对比的是es:的内存。
回答不错,谢谢。 liangfei44 发表于 2013-9-6 23:59 static/image/common/back.gif
在MOV DS,AX后面加一句mov es,ax就行了
REPNZ SCASB 对比的是es:的内存。
果然是这个问题,非常感谢,初学汇编,还有许多不懂的地方,请多多指教
页:
[1]