| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4452 人关注过本帖
标题:各位大神,求解一个汇编报错的原因
只看楼主 加入收藏
tjlsfc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-9-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
各位大神,求解一个汇编报错的原因
代码如下:

assume cs:tora

tora segment
mov ax,0ac3h
mov cx,3h
mov bx,2h
mov ss,cx
mov sp,0ah
taikoku:push bx
loop taikoku
mov ax,4c00h
int 21h
tora ends
end


程序执行到sp为4H的时候,突然报错说:NTVDM CPU 遇到无效指令?

请问这是什么原因?
2015-09-10 12:31
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:10 
栈太小。只有10个字节,当int21时,已经没有足够的空间了。改成mov sp,100h试下。

能编个毛线衣吗?
2015-09-10 12:55
tjlsfc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-9-10
收藏
得分:0 
回复 2楼 wmf2014
请问,int21是什么意思?为什么说我的栈太小,它们之间有什么关系呢?
2015-09-10 13:29
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
int 21是DOS操作系统的中断服务指令,操作系统所涉及的输入、输出、文件操作均可以通过int 21调用完成。

能编个毛线衣吗?
2015-09-10 13:40
tjlsfc
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-9-10
收藏
得分:0 
回复 4楼 wmf2014
感谢版主,我回去好好研究下,为什么我的10个字节空间小了,造成报错。感谢您。
2015-09-10 16:00
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:10 
楼主太小家子气了!一次中断将地址入栈一次至少需要4个字节,并且中断程序仍可能会继续对堆栈进行操作,不溢出才怪呢。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2015-09-10 19:25
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
10个字节太少了

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-04-08 21:47
快速回复:各位大神,求解一个汇编报错的原因
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016309 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved