社区
汇编语言
帖子详情
返回值该保存在哪里?
mingzi520
2009-06-08 02:51:19
如果某个子过程返回一个值,可以用ax保存,如果这个返回值大于16位(8086),用ax和dx保存
问题
我觉得子过程在返回时不应该改变寄存器的值,比如在子过程开始要把所用到的寄存器push到栈中,返回时要pop复原,而用ax保存返回值,这样就违背了这条规则,矛盾呀!
...全文
220
9
打赏
收藏
返回值该保存在哪里?
如果某个子过程返回一个值,可以用ax保存,如果这个返回值大于16位(8086),用ax和dx保存 问题 我觉得子过程在返回时不应该改变寄存器的值,比如在子过程开始要把所用到的寄存器push到栈中,返回时要pop复原,而用ax保存返回值,这样就违背了这条规则,矛盾呀!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mingzi520
2009-06-10
打赏
举报
回复
个位太热心了,谢了
xd217
2009-06-09
打赏
举报
回复
就定义个空内存(随便多大都可以)来放这些中间结果,如果内存不够,可以转到硬盘上(就是把硬盘当虚拟内存来用),这个就是。。。。。。我在网上学的,不知道对不,我没实践过,很惭愧。。
BAYNPU
2009-06-09
打赏
举报
回复
0、程序中使用N条PUSH指令,返回时也同样使用N条POP指令,否则造成堆栈不平衡.
子过程在返回后,用到寄存器的值应该不变才是!可ax用返回值改变了原来的值.
1、MOV AX,1234
PUSH AX;压椎前保护AX的值.
.... ;中间随便给AX赋给都可以.
POP AX;出椎后还原1234.
yuchsh
2009-06-09
打赏
举报
回复
好好读读INTEL 编程手册
array020
2009-06-08
打赏
举报
回复
AX,你自己定义的话随便哪个都可以,呵呵
mingzi520
2009-06-08
打赏
举报
回复
[Quote=引用 1 楼 jxc25 的回复:]
ax是累加器,dx是累加器扩展
都不是寄存器,没有矛盾
[/Quote]
"都不是寄存器" 什么意思?
只要瞻前顾后,哪里放返回值都一样,上面我说的是人们习惯性地:习惯的把返回值放到ax中,习惯先Push子过程要用到的寄存器的值,然后在返回前pop,还原寄存器,但这两个习惯产生冲突呀,子过程在返回后,用到寄存器的值应该不变才是!可ax用返回值改变了原来的值.
是不是我学到太死了,也许ax始终应该起临时保存作用.应该遵循的原则是:让任何过程改变他,而不影响程序
goodider
2009-06-08
打赏
举报
回复
可以用的。也可以像2楼说的方法。
既然楼主说的把开始的数据先入栈了。其实就是保存了AX的值。
wudi626
2009-06-08
打赏
举报
回复
也应该可以在数据段定义一个变量:
buf db ? ; 来存放你需要返回的值
jxc25
2009-06-08
打赏
举报
回复
ax是累加器,dx是累加器扩展
都不是寄存器,没有矛盾
最新FaustCplus,解决了Flash版本升级不能预览图片的问题,还解决了
保存
图片后得不到
返回值
的问题。
参考molaifeng的一篇文章,解决了因flash版本升级而导致FaustCplus生成不了预览图片的问题,但是点
保存
按钮后,得不到
返回值
,导致图片
保存
成功后,Flash框不自动关闭。 后来看到gukie的一个方法,按他的修正,解决...
ESP8266常用AT指令
该指令用于配置WiFi模组工作模式为单STA模式,并把配置
保存
在flash。 2. 连接网络:AT+CWJAP_DEF="WIFIname","PASS"
返回值
:OK 该指令用于连接指定的WiFi网络。 3. 使能上电自动联网:AT+CWAUTOCONN=1
返回值
...
eoffice最新函数接口.pdf
3. GetSetType 属性:设置上传文档的类型,0 代表
保存
为文件,1 代表
保存
在数据库中。 4. EncryptFile 属性:设置上传文档是否需要加密,1 代表需要加密,0 代表不需要加密。 文档控件接口方法: 1. OpenWord 方法...
java 返回多个值的问题
我们在getserInfo函数中
返回值
需要的是返回处理状态,其中我们可以通过userinfo来知道获得的数据,虽然我们直接使用 userinfo的相关set方法将数据
保存
到userinfo对象中,一般如果不重新生成对象,我们可以将值正确...
js验证--密码强度
js判断密码的强度,给出强弱
返回值
,下载后,
保存
格式为html格式即可。
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章