注册 登录
编程论坛 汇编论坛

程序下面多出来个循环直接送给我个无限

Guines 发布于 2016-06-12 22:27, 3788 次点击
只有本站会员才能查看附件,请 登录

cmp di,0200h
jl    003c
他们从哪来的?
4 回复
#2
Valenciax2016-06-12 23:54
回复 楼主 Guines
那是内存早有东西,你的程式仅以本身大小覆盖上去。
打个比方,房中只可容纳四个人,甲乙丙丁,你挤进去,挤走了甲,但乙丙丁仍在,你是你,他们是他们,没有任何关系,cmp di,0200h就是那些乙丙丁。此其一

楼主的代码,在最后应该加上
mov ah,4ch
int 21h
这是返回dos,不加就继续执行内存原有残留的代码,结果不可预期。此其二
#3
Guines2016-06-13 10:03
回复 2楼 Valenciax
谢谢您的解答,我学会了
还有一个问题就是为啥程序执行不出来呢
只有本站会员才能查看附件,请 登录
#4
Valenciax2016-06-13 12:18
回复 3楼 Guines
载入程式,光标停在 mov ah,4c,按f4,让程式跑到该处
按Alt + f5 看输出结果
#5
Guines2016-06-13 12:32
回复 4楼 Valenciax
非常感谢
1