嘿,我在GAS中有一个helloworld汇编程序。现在我打算将其编译为64位,并且会引发错误
“。/helloworld:无法执行二进制文件:Exec格式错误”
组装:--32 -o helloworld.o helloworld-a.asm
链接:ld -m elf_i386 -o helloworld helloworld.o
当我在没有“ --32”和“ -m elf_i386”的情况下进行分割时,会出现分段错误。
.section .data
str: .ascii "Hello world!\n"
strlen = . - str
num: .long 1337
.section .text
.global _start
_start:
movl $4, %eax
movl $1, %ebx
movl $str, %ecx
movl $strlen, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
这就是我的程序:)
谢谢您的帮助;)