debug又出现无效指令了!!!

zeng321 2009-04-16 08:57:39
代码如下
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0
stacksg ends
datasg segment
db '1. aisplay '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends

codesg segment
start: mov ax,datasg
mov ds,ax
mov bx,0

mov ax,stacksg
mov ss,ax
mov sp,4

mov cx,4
s0: push cx
mov si,0
mov cx,4

s:mov al,[bx+si+3]
and al,11011111B
mov [bx+si+3],al
inc si
loop s

add bx,16
pop cx
loop s0

mov ax,4c00h
int 21h
codesg ends
end start

在单步到红色的那条语句出现指令无效,我向cx中写个数据不是什么特殊指令啊,那个cx放的也是本程序的长度,往里面写值怎么会出错呢?
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftmusic 2009-04-22
  • 打赏
  • 举报
回复
多余的指令
cnzdgs 2009-04-17
  • 打赏
  • 举报
回复
sp建议至少应该在400H以上,640KB基本内存留着干什么。
nanlingcg 2009-04-17
  • 打赏
  • 举报
回复
我现在在学习时要建栈,首先就考虑在任何时候都要保证空栈大于4字节。
ji2feng 2009-04-17
  • 打赏
  • 举报
回复
路过
BAYNPU 2009-04-16
  • 打赏
  • 举报
回复
mov ax,stacksg
mov ss,ax
mov sp,4 ;堆栈设置太小,应改为10H,否则会引起异常保护.

21,500

社区成员

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

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