问题出在哪儿

tj321 2007-12-03 04:11:30
应该真确的啊,但编译后出现一个错误咋改了!

data segment
message1 db 'please input the sentance.',0AH,0DH,'$'
message2 db 'please input the key word',0AH,0DH,'$'
message3 db 'match',0AH,0DH,'$'
message4 db 'no match ',0AH,0DH,'$'
seg1 db 50,?,50 dup(?)
seg2 db 30,?,30 DUP(?)
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax

mov dx,offset message1
mov ah,09h
int 21h
mov dx,offset seg1
mov ah,0ah
int 21h

mov dx,offset message2
mov ah,09h
int 21h
mov dx,offset seg2
mov ah,0ah
int 21h


mov ax,offset seg1
mov bx,offset seg2
mov cx,[ax+1]
add ax,2
mov si,ax
add bx,2
push bx
mov di,bx
cld

L2: mov ax,cx
mov cx,[bx-1]
repe cmpsb
jz L1
inc si
pop di
push di
mov cx,ax
cmp cx,[bx-1]
jb L4
loop L2

L4: mov dx,offset message4
mov ah,09h
int 21h
jmp L3

L1: mov dx,offset message3
mov ah,09h
int 21h
L3: mov ah,04ch
int 21h

code ends
end start
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tj321 2007-12-05
  • 打赏
  • 举报
回复
感谢1楼的回答,改了之后出现了另一个问题:不管匹配或者不匹配,输出结果都显示No match。到底怎么改了。
此题实现的功能是:
程序接收用户键入的一个关键字以及一个句子。如果句子中不包含关键字则显示‘No match!’;如果句子中包含关键字则显示’Match’
zara 2007-12-03
  • 打赏
  • 举报
回复
....
mov ax,offset seg1
mov bx,offset seg2
mov cx,[ax+1] ;* 这里, ax 不能作为间接寻址寄存器. 设置完 si 再设置 di吧

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧