Пожалуйста, помогите мне понять этот код сборки - PullRequest
0 голосов
/ 25 февраля 2019

Итак, у меня есть этот код 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 $ - $$

(Правка: добавлен остальной код)

...