为什么下面的代码在gas中是非法的?
# cat -n gas.asm
1
2 .code64
3 pushb $12
4
# as gas.asm
gas.asm: Assembler messages:
gas.asm:3: Error: suffix or operands invalid for `push'
是不是很匹配:
| Opcode* | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| 6A | PUSH imm8 | C | Valid | Valid | Push imm8. |
但是,以下代码在 NASM 中有效。
bits 64
push byte 12
为什么gas在X86-64平台上会出现这个错误?
谢谢!