Функция вывода не выводит символы, Ассемблер
Я новичек в ассемблере, пытаюсь написать функцию, выводящую символы на экран на виндовс:
_print:
; rdi - stroke
; ebx - lenght
sub rsp, 40
mov rcx, -11
call GetStdHandle
mov rcx, rax
mov rdx, rdi
mov r8d, ebx
xor r9, r9
mov qword [rsp + 32], 0
call WriteFile
add rsp, 40
ret
когда я в нее передавал напрямую переменные:
mov rdx, message
mov r8d, lenght
все работало, но когда я решил делать это через регистры, функция не выводила на экран ничего. Может быть проблема в выбранный регистрах?
В дополнение скажу что убрав ret
функция стала бесконечно выводить строку