x86的push指令可以压入一个8比特的立即数吗?
在GNU as语法下, 应该怎么写? Intel手册上有:
6A PUSH imm8 Valid Valid Push sign-extended imm8. Stack
pointer is incremented by the size of
stack pointer.
但是其余的地方没有描述。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
明白了, 是要符号扩展到32位的, 在ia32上。
OK,通常CPU不支持变字长呀入.
参考Intel第一卷有关堆栈部分。
AT&T汇编的push支持的操作数种有:8位立即数值,
但给指令的时候只有,pushl和pushw,看来操作8位立即数需要用符号扩展。
是否扩展到16位就可以了?