Итак, у меня есть этот код nasm, который просто печатает приветственный мир на экране, но я не могу понять, как он работает, потому что единственный используемый тип nasm работает с системными вызовами и регистрами, такими как EAX, EBX и т. Д.Если кто-нибудь понимает, как работает этот код, и может объяснить мне, я был бы невероятно признателен.
section .data
helloworld: db __utf16__ `hello world!`, 10
datasize equ $ - $$
align 0x200,db 0
section .text
print:
sub rsp, 40
mov rcx, [rdx+64]
lea rdx, [rel helloworld]
call [rcx+8]
add rsp, 40
mov rcx, [rdx+64]
lea rdx, [rel helloworld]
call [rcx+8]
add rsp, 40
ret
codesize equ $ - $$
(Правка: добавлен остальной код)