弱弱问一句,我能不能push al
弱弱问一句,我能不能push al,然后sp-1???理论上是可以的,但是由于你用的是8086汇编语言,所以最终要根据8086汇编语言的语法来决定是否可行。该语法规定只能将16比特的数推到堆栈中,所以就智能这样做。如果自己设计了一个硬件CPU并且自己设计了相对应的汇编语言以及该汇编语言的编译器,就可以实现自己的语法。 不能.
.]
] メ㊣逆ご帅☆ 发表于 2013-10-5 11:14 static/image/common/back.gif
不能.
.]
]
为啥????? 本帖最后由 メ㊣逆ご帅☆ 于 2013-10-5 11:36 编辑
Sen哥 发表于 2013-10-5 11:16 static/image/common/back.gif
为啥?????
规定。。。估计为了统一性,然后好对一些操作进行优化。我想你有听说过int类型是操作效率最高的一种类型(书上看过的。好像是c++ Primer plus)因为计算机操作大部分都是4字节
所以计算机比较擅长这个长度,大概是这样的东西,我自己也不清楚,而且进栈出栈的长度一致的话,也不容易混乱
这是不可以的 你可以试试看 编译器应该会报错 不可以的,栈里面存储的数据都是2个字节所以sp要减去2 因为CPU的设计中只有通用寄存器才能拆开来使用,而其他不允许。。。你push al就只操纵部分堆栈。。。不允许的。。 学习了。。。。。。。 不行吧。的是16位的吧 al是一个字节。。。push.对应的是一个字。。 路过看看哈
页:
[1]