Я пытаюсь исследовать Ассемблер GNU, использующий этот пример: https://0xax.github.io/asm_1/
Мой код main.s
.data
message: .ascii "ASSEMBLY OUTPUT"
.text
.globl _start
_start:
movq $1, %rdi
movq $1, %rax
movq $15, %rdx
movq $message, %rsi
syscall
movq $60, %rax
movq $0, %rdi
syscall
Подготовка к командной строке:
как-g-o main.o main.s
ld-o основной main.o
Теперь, я работаю./основной, Но это ничего не печатает, и терминал ожидает моя следующая команда.
Что идет не так, как надо?
В GNU числа Отладчика были успешно сохранены в регистрах.
Я вижу, что результат первого syscall "-14" в ПОТЯГИВАЕТСЯ.
Я предложил бы добавить новые строки к выходной строке, таким образом, она выделяется. Попробуйте следующую версию:
.data
message: .ascii "\nASSEMBLY OUTPUT\n\n"
msglen = . - message
.text
.globl _start
_start:
movq $1, %rdi
movq $1, %rax
movq $msglen, %rdx
movq $message, %rsi
syscall
movq $60, %rax
movq [110], %rdi
syscall