王爽汇编第二版的问题,有谁知道我在运行13.3的 “在屏幕中间显示80个!”的程序时报的这个错是什么意思

我显示执行的7ch的安装程序,接着就执行书上的下面这段代码,assumecs:codecodesegmentstart:movax,0b800hmoves,axmovdi... 我显示执行的7ch的安装程序,接着就执行书上的下面这段代码,
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov di,160*12

mov bx,offset s-offset se
mov cx,80

s: mov byte ptr es:[di],'!'
add di,2
int 7ch

se: nop
mov ax,4c00h
int 21h
code ends
end start

出现了这么个框

我debug后是在这里产生的直接就跳出来了

下面是我写的7ch的实现Loop的功能的安装程序,是不是这个不对啊???

assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend-offset lp
cld
rep movsb

mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0

mov ax,4c00h
int 21h

lp: push bp
mov bp,sp
dec cx
jcxz lpend
add [bp+2],bx

lpend: pop bp
iret
code ends
end start
展开
 我来答
hackpg
2012-08-23
知道答主
回答量:2
采纳率:0%
帮助的人:5.4万
展开全部
图中 cs=0000 ip=0077 果断不对了
追问
是我把iret和pop bp没有放到中断里面,我在lpend后面加了个标号lp0: nop,
把前面的mov cx,offset lpend-offset lp改成了
mov cx,offset lp0-offset lp
非常感谢哈
追答
你图中 cs=000 ip=0077  代码怎么会运行到这里?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幸运的祝小五
2021-12-07
知道答主
回答量:1
采纳率:0%
帮助的人:431
展开全部
这个要怎么执行啊 这是两个程序吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式