Как передовать параметры процедур в ассемблере NASM?
Возникла необходимость разбить код на отдельные подпрограммы. Вот только из учебных материалов гугла, совершенно не понятно как в неё передовать параметры. В связи с чем, прошу доступно обьяснить начинающему
P.s: эти процедуры я плонирую вызывать достаточно часто, так что макросы мне не подойдут :(
Ответы (1 шт):
Автор решения: Супрематический Крестьянин
→ Ссылка
Можно передавать параметры через стек:
push 0x0001
push 0x0002
call my_func
add sp, 0x0004
;... some code ...
my_func:
push bp
mov bp, sp
push ax
push bx
mov ax, word [bp + 6] ; 0x0001
mov bx, word [bp + 4] ; 0x0002
;... some code ...
pop bx
pop ax
pop bp
ret