When I use nasm -f macho64 asm1.asm I get the following error:
asm1.asm:14: error: Mach-O 64-bit format does not support 32-bit absolute addresses
This is 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
I'm really new to assembly and barely know what these commands do. Any idea what's wrong here?
 
     
     
    