
请高手帮忙改汇编程序 查找指定的数据或字符
DATASSEGMENTSTRDB0,1,2,3,4,5,6,7,8,9N=$-STRADDR1DB'Found$'ADDR2DB'NotFound$'ARRAYDB10...
DATAS SEGMENT
STR DB 0,1,2,3,4,5,6,7,8,9
N = $-STR
ADDR1 DB 'Found$'
ADDR2 DB 'Not Found$'
ARRAY DB 10 DUP(?)
INPUT DB 13,10,'Input the number you want to find:',13,10,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
MOV ES,AX
LEA DI,ARRAY
MOV CX,N
LEA DX,INPUT
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
Begin: LEA SI,STR
MOV CX,N
CMP AX,[SI]
JZ Next
LEA DX,ADDR2
MOV AH,09H
INT 21H
JMP LAST
Next: LEA DX,ADDR1
MOV AH,09H
INT 21H
LAST: MOV AH,4CH
INT 21H
CODES ENDS
END START
不知道哪里错了,总是出现Not Found 展开
STR DB 0,1,2,3,4,5,6,7,8,9
N = $-STR
ADDR1 DB 'Found$'
ADDR2 DB 'Not Found$'
ARRAY DB 10 DUP(?)
INPUT DB 13,10,'Input the number you want to find:',13,10,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
MOV ES,AX
LEA DI,ARRAY
MOV CX,N
LEA DX,INPUT
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
Begin: LEA SI,STR
MOV CX,N
CMP AX,[SI]
JZ Next
LEA DX,ADDR2
MOV AH,09H
INT 21H
JMP LAST
Next: LEA DX,ADDR1
MOV AH,09H
INT 21H
LAST: MOV AH,4CH
INT 21H
CODES ENDS
END START
不知道哪里错了,总是出现Not Found 展开
2个回答
展开全部
DATAS SEGMENT ;验证无误.
STR DB '0123456789'
N = $-STR
ADDR1 DB 'Found$'
ADDR2 DB 'Not Found$'
;ARRAY DB 10 DUP(?)
INPUT DB 13,10,'Input the number you want to find:',13,10,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,INPUT
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
LEA SI,STR
MOV CX,N
next: cmp al,[si]
jz ok
inc si
loop next
LEA DX,ADDR2
JMP L1
ok: LEA DX,ADDR1
L1: MOV AH,09H
INT 21H
mov ah,0
int 16h
quit: MOV AH,4CH
INT 21H
CODES ENDS
END START
STR DB '0123456789'
N = $-STR
ADDR1 DB 'Found$'
ADDR2 DB 'Not Found$'
;ARRAY DB 10 DUP(?)
INPUT DB 13,10,'Input the number you want to find:',13,10,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,INPUT
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
LEA SI,STR
MOV CX,N
next: cmp al,[si]
jz ok
inc si
loop next
LEA DX,ADDR2
JMP L1
ok: LEA DX,ADDR1
L1: MOV AH,09H
INT 21H
mov ah,0
int 16h
quit: MOV AH,4CH
INT 21H
CODES ENDS
END START
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询