0
任务是搜索一个字符串,并查找输入的字符是否在字符串MES3中或不是。这里是我的代码,但它不会搜索字符串中的所有字母,只是第一个。骑自行车上班,并通过所有的符号串字符串汇编
masm
model small
.DATA
MSG1 DB 10,13,'CHARACTER FOUND :) $'
MSG2 DB 10,13,'CHARACTER NOT FOUND :($'
MSG3 DB 10,13,'there is no hope of doing this bla : $'
MSG4 DB 10,13,'ENTER THE CHARACTER TO BE SEARCHED : $'
NEW DB 10,13,'$'
NEW1 DB 10,13,'$'
NEW2 DB 10,13,'$'
.CODE
ASSUME CS:@CODE,DS:@DATA
START:
MOV AX,@DATA
MOV DS,AX
LEA di,[MSG3]
DOWN:
LEA dx,NEW
MOV AH,09H
INT 21H
LEA DX,MSG4
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
MOV DI,0
UP1:
CMP AL,[MSG3+di]
JE DOWN3
INC DI
LOOP UP1
LEA DX,MSG2
MOV AH,09H
INT 21H
JMP FINISH
DOWN3:
LEA DX,MSG1
MOV AH,09H
INT 21H
FINISH:
INT 3
mov AX, 4c00h
int 21h
END START
谢谢,但它仍然没有工作。我设置CX为34,但它仍然不认识其他符号比第一个 – user3185482
它适用于我。如果我输入例如一个'b',程序打印'CHARACTER FOUND:)'。如果我输入的东西不在'MSG3'中,就像'q'一样,它说'CHARACTER NOT FOUND:('。 – Michael
我又做了,这次它的工作非常感谢你 – user3185482