Я новичок в сборке (NASM). У меня вопрос. Этот код не работает, когда я использую macho64. Проблема с 32-битной абсолютной адресацией в mov qword[example], 'hello world'
. почему тут проблема?
section .data
example: db 0
section .text
global main
main:
mov qword[example], 'hello world'
mov rax, 0x2000004
mov rsi, example
mov rdi, 1
mov rdx, 11
syscall
mov rax, 0x2000001
xor rdi, rdi
syscall
Что такое default rel
и что в нем указано? Спасибо
'hello world'
составляет 11 байтов, аmov qword [mem], sign_extended_imm32
имеет место только для 4. И что вы сохраняете 8 байтов в том месте, где вы сделалиdb 0
, чтобы зарезервировать 1 байт. - person Peter Cordes   schedule 20.06.2021