标签: assembly x86-64 gas att
编译以下代码
movl $3, %eax pushl %eax pushl $10
给出错误:第2行中'push'的操作数类型不匹配。
但是,如果我使用%rax代替%eax,则上述代码有效。 为什么我不能使用带有'push'(或pop)的32位寄存器?
%rax
%eax