我遇到了这段代码的问题:
.code32
.data
s: .asciz "Hello World!\n"
.text
.global main
main:
pushl $s
call printf
addl $4, $esp
movl $1, %eax
movl $0, %ebx
int $0x80
~
当我尝试使用" gcc -g -o文件file.s"进行编译时它向我显示了这个错误
错误:“add'
”的操作数类型不匹配我正在运行32位Linux机器,gcc版本5.4.0。提前致谢
答案 0 :(得分:1)
应该是addl $4, %esp
。 GAS前缀$
表示常量,其中%
是寄存器。