鱼C论坛

 找回密码
 立即注册
查看: 7152|回复: 11

弱弱问一句,我能不能push al

[复制链接]
发表于 2013-10-5 10:55:19 | 显示全部楼层 |阅读模式
1鱼币
弱弱问一句,我能不能push al,然后sp-1???

最佳答案

查看完整内容

理论上是可以的,但是由于你用的是8086汇编语言,所以最终要根据8086汇编语言的语法来决定是否可行。该语法规定只能将16比特的数推到堆栈中,所以就智能这样做。如果自己设计了一个硬件CPU并且自己设计了相对应的汇编语言以及该汇编语言的编译器,就可以实现自己的语法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 10:55:20 | 显示全部楼层
理论上是可以的,但是由于你用的是8086汇编语言,所以最终要根据8086汇编语言的语法来决定是否可行。该语法规定只能将16比特的数推到堆栈中,所以就智能这样做。如果自己设计了一个硬件CPU并且自己设计了相对应的汇编语言以及该汇编语言的编译器,就可以实现自己的语法。

点评

确实,如果自己设计CPU,标准就不一样了 当初8086的段机制也是一种战略  发表于 2013-10-5 21:05
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 11:14:55 | 显示全部楼层
不能.
.]
]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-5 11:16:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 11:28:06 | 显示全部楼层
本帖最后由 メ㊣逆ご帅☆ 于 2013-10-5 11:36 编辑
Sen哥 发表于 2013-10-5 11:16
为啥?????

规定。。。估计为了统一性,然后好对一些操作进行优化。我想你有听说过int类型是操作效率最高的一种类型(书上看过的。好像是c++ Primer plus)因为计算机操作大部分都是4字节
所以计算机比较擅长这个长度,大概是这样的东西,我自己也不清楚,而且进栈出栈的长度一致的话,也不容易混乱



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 12:20:48 | 显示全部楼层
  这是不可以的 你可以试试看 编译器应该会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-5 17:35:48 | 显示全部楼层
不可以的,栈里面存储的数据都是2个字节所以sp要减去2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 00:13:34 | 显示全部楼层
因为CPU的设计中只有通用寄存器才能拆开来使用,而其他不允许。。。你push al就只操纵部分堆栈。。。不允许的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 07:52:13 | 显示全部楼层
学习了。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 08:07:03 | 显示全部楼层
不行吧。的是16位的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 18:33:06 | 显示全部楼层
al是一个字节。。。push.对应的是一个字。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-18 12:52:27 | 显示全部楼层
路过看看哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 12:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表