Как в готовом коде менять смещение переменных не меняя самого кода?
Есть процедура, с написанным кодом и в ней есть переменные (я сделал на переменных, а не стеке передачу параметров процедуре так как я ещё не дорос до проф уровня). Мне надо не меняя кода самой процедуры сделать смещение переменных на нужное значение (понятно дело что указатель). Это значение будет меняться.
Ответы (1 шт):
Автор решения: PRODIGY
→ Ссылка
Вот варианты передачи аргументов через регистры и через стек (fasm):
format pe gui
include 'win32ax.inc'
;//----------
.data
szMes1 db 'Передача параметров через регистры!',0
szMes2 db 'Передача параметров через стек!',0
buff db 0
;//----------
.code
start:
mov ebx,szMes1 ;// аргумент в регистре EBX
call Registers
push szMes2 ;// аргумент в стеке
call Stacks
invoke ExitProcess,0
;//------------
proc Registers
invoke MessageBox,0,ebx,<'Fasm example',0>,0
ret
endp
proc Stacks param1
mov ebx,[param1]
invoke MessageBox,0,ebx,<'Fasm example',0>,0
ret
endp
.end start