Alguém sabe me dizer porque esse erro ta aparecendo

Abaixo o código do meu app em assembly:

; ------------------------
; Programa Hello World
; ------------------------
; $ nasm -f elf64 hello.asm
; ou para yasm,
; $ yasm -f elf64 hello.asm
; $ ld -s -o hello hello.o
; $ ./hello
; ------------------------
;section .data:
data:
  msg db 'Hello, world!', 0xa
  len equ $ - msg

;section .text:
text:

global _start

_start:
  mov edx, len
  mov ecx, msg
  mov ebx, 1
  mov eax, 4
  int 0x80
; saida
  mov eax, 1
  mov ebx, 0
  int 0x80

A baixo está o erro quando eu vou compilar:

$ yasm -f elf64 hello.asm
$ ld -s -o hello hello.o
hello.o: file not recognized: file format not recognized
$

Alguém pode me ajudar?
Que erro é esse?
O Que posso fazer para resolver?
Tens outra sugestão pra executar um App em assembly?

ld não está conseguindo linkar devido a que espera outro formato. Talvez o default seja elf32? Tenta ver o man e também rodar com um - - verbose pode ajudar.

1 curtida

Valeu era ‘elf32’ mesmo!