子程序返回异常, 求解

RGB_YUN 2002-07-06 08:34:21
为什么我的子程序在用RET返回的时候
程序重新运行了?

main proc far
call init

lop: call xxxx
jmp lop
main endp

lop proc near
ret
lop endp

就这部分出问题了, lop返回之后, 他从新运行了init
程序是small
...全文
108 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
BraveHeart2222 2003-05-06
  • 打赏
  • 举报
回复
你在哪调用了lop,是Call xxxx吗?
GREEN_PINE 2002-07-11
  • 打赏
  • 举报
回复
单步执行,跟踪堆栈值,应该是堆栈的问题
sum_1 2002-07-11
  • 打赏
  • 举报
回复
查看堆栈的情况.
woshiwo 2002-07-11
  • 打赏
  • 举报
回复
mo?
Blue_Sun 2002-07-07
  • 打赏
  • 举报
回复
也许你的xxxx中有对堆栈进行操作,但是没有恢复到刚被调用时的状态,致使sp的指针商议或者下移了。请注意在xxxx中的进入和退出时push和pop的对应。
RGB_YUN 2002-07-07
  • 打赏
  • 举报
回复
443, 哈你头啊, 我周一就要到老师办公室交, 要不是这几天打CS来的...... 写到最后几个子程序确出乱子了
RGB_YUN 2002-07-07
  • 打赏
  • 举报
回复
想不通啊,我在子程序里面唯一操作堆栈的就是

pusha
popa
ret

不会有错吧
443 2002-07-07
  • 打赏
  • 举报
回复
呵呵……
RGB_YUN 2002-07-06
  • 打赏
  • 举报
回复
是作业, 有点长
awinder 2002-07-06
  • 打赏
  • 举报
回复
把你的代码贴完整写好不好
RGB_YUN 2002-07-06
  • 打赏
  • 举报
回复
对不起啊, 我随便刚起的名字, 那两个不一样
ckc 2002-07-06
  • 打赏
  • 举报
回复
lop重复定义也没有报错?

21,458

社区成员

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

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