所以我有这个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 $ - $$
(编辑:添加了其余代码)