albcamus 发表于 2008-04-25 10:54

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.

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

albcamus 发表于 2008-04-25 10:59

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

system888net 发表于 2008-04-25 11:17

原帖由 albcamus 于 2008-4-25 10:59 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
明白了, 是要符号扩展到32位的, 在ia32上。

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

白丁布衣 发表于 2008-06-02 10:17

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

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

Godbach 发表于 2008-06-05 11:09

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

是否扩展到16位就可以了?
页: [1]
查看完整版本: x86的push指令可以压入一个8比特的立即数吗?