Почему эта строка не печатается (printf сборка)?

Попытка создать квайн в сборке, однако, когда я пытаюсь напечатать строку, она не будет напечатана, пока я не удалю все символы над ней.

.data
hello: .string ".data%3$c%2$c%1$c hello: .string%4$s"

.text
.globl _main

_main:
    push %rbp
    mov %rsp, %rbp
    mov $10, %esi
    mov $9, %edx
    mov $34, %ecx
    lea hello(%rip), %eax
    lea hello(%rip), %rdi
    call _printf
    leave
    ret

Вывод прямо сейчас таков:

.data"  
 hello: .string(null)

Изменить: ожидаемый результат

.data"  
 hello: .string.data%3$c%2$c%1$c hello: .string%4$s

0 ответов

Другие вопросы по тегам