Когда я использую nasm -f macho64 asm1.asm
, я получаю следующую ошибку:
asm1.asm: 14: ошибка: Mach-O 64-битный формат не поддерживает 32-разрядные абсолютные адреса
Это asm1.asm
SECTION .data ;initialized data
msg: db "Hello world, this is assembly", 10, 0
SECTION .text ;asm code
extern printf
global _main
_main:
push rbp
mov rbp, rsp
push msg
call printf
mov rsp, rbp
pop rbp
ret
Я действительно новичок в сборке и едва знаю, что делают эти команды. Любая идея, что здесь не так?