NASM/YASM (Вывод символа в x86_64)

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

NASM/YASM

Сообщение BratSinot »

Доброго времени суток!

Не могу вывести символ на экран в 64-битном режиме:

Код: Выделить всё

    mov al, 10 ;Символ

    sub rsp, 2 ;Под память
    mov rdi, rsp
    mov [rdi], al ;Преносим нужный символ
    mov rax, 4 ;Функция write
    mov rbx, 1 ;stdout
    mov rcx, rdi ;Заносим адрес с символом
    mov rdx, 1 ;Кол-во символов в строке, у нас 1
    int 0x80
    add rsp, 2

Причем в 32-битном режиме все нормально работает(ну соотвественно когда меняем все 64-битные регистры, на 32-битные и собираем под 32-bit).
Спасибо сказали: