kolibrios/programs/system/os/fpo.inc
CleverMouse 45f221c5f5 command line parser for the system library
git-svn-id: svn://kolibrios.org@6614 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-10-24 18:44:58 +00:00

29 lines
666 B
PHP

; Magic for proc32.inc: prologue/epilogue for esp-based addressing
; fpo stands from Frame Pointer Omission
macro fpo_prologue procname,flag,parmbytes,localbytes,reglist
{
local loc,regcount
loc = (localbytes+3) and (not 3)
regcount = 0
irps reg, reglist
\{
regcount = regcount+1
push reg
\}
if loc
sub esp, loc
end if
parmbase@proc equ esp+4+loc+regcount*4
localbase@proc equ esp
fpo_localsize = loc
}
macro fpo_epilogue procname,flag,parmbytes,localbytes,reglist
{
irps reg, reglist \{ reverse pop reg \}
if flag and 10000b
retn
else
retn parmbytes
end if
}