x86的push指令可以压入一个8比特的立即数吗?

发布于 2022-09-18 21:16:44 字数 417 浏览 11 评论 0

在GNU as语法下, 应该怎么写?  Intel手册上有:

6A PUSH imm8 Valid Valid Push sign-extended imm8. Stack
                         pointer is incremented by the size of
                         stack pointer.

但是其余的地方没有描述。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

゛时过境迁 2022-09-25 21:16:44

明白了, 是要符号扩展到32位的, 在ia32上。

黑凤梨 2022-09-25 21:16:44

原帖由 albcamus 于 2008-4-25 10:59 发表
明白了, 是要符号扩展到32位的, 在ia32上。

OK,通常CPU不支持变字长呀入.

荆棘i 2022-09-25 21:16:44

参考Intel第一卷有关堆栈部分。

余生共白头 2022-09-25 21:16:44

AT&T汇编的push支持的操作数种有:8位立即数值,
但给指令的时候只有,pushl和pushw,看来操作8位立即数需要用符号扩展。

是否扩展到16位就可以了?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文