mirror of
https://github.com/NishiOwO/JWasm.git
synced 2025-04-22 01:04:39 +00:00
65 lines
1005 B
NASM
65 lines
1005 B
NASM
|
|
.386
|
|
.model flat,stdcall
|
|
option casemap:none
|
|
|
|
S1 struct
|
|
db 50h dup (?)
|
|
S1 ends
|
|
|
|
.code
|
|
|
|
OPTION PROLOGUE:NONE
|
|
OPTION EPILOGUE:NONE
|
|
|
|
pr1 proc p1:DWORD,p2:DWORD
|
|
ret
|
|
pr1 endp
|
|
|
|
myprologue macro name,flags,parmsize,localsize,regslist,userparm
|
|
|
|
;% echo prolog: name, flags, parmsize, localsize, regslist, userparm
|
|
push ebp
|
|
mov ebp, esp
|
|
for r,regslist
|
|
push r
|
|
endm
|
|
sub esp, localsize
|
|
exitm %localsize
|
|
endm
|
|
|
|
myepilogue macro name,flags,parmsize,localsize,regslist,userparm
|
|
|
|
;% echo epilog: name, flags, parmsize, localsize, regslist, userparm
|
|
for r,regslist
|
|
pop r
|
|
endm
|
|
mov esp, ebp
|
|
pop ebp
|
|
ret parmsize
|
|
endm
|
|
|
|
OPTION PROLOGUE:myprologue
|
|
OPTION EPILOGUE:myepilogue
|
|
|
|
pr2 proc uses ds ebx esi p1:DWORD, p2:DWORD
|
|
local l1:dword
|
|
local l2:dword
|
|
ret
|
|
pr2 endp
|
|
|
|
pr3 proc uses esi p1:S1, p2:S1
|
|
local l1:S1
|
|
local l2:S1
|
|
ret
|
|
pr3 endp
|
|
|
|
OPTION PROLOGUE:PROLOGUEDEF
|
|
OPTION EPILOGUE:EPILOGUEDEF
|
|
|
|
pr4 proc p1:DWORD, p2:DWORD
|
|
ret
|
|
pr4 endp
|
|
|
|
end
|