hola, gracias por tu respuesta.
y, ¿como puedo omitir el prologo y el epilogo? o ¿como puedo hacerlo de la otra forma?
gracias.
edito el mensaje:
He encontrado estas macros en "FASM\Include\proc32.inc", pero no sé como usarlas.
y, ¿como puedo omitir el prologo y el epilogo? o ¿como puedo hacerlo de la otra forma?
gracias.
edito el mensaje:
He encontrado estas macros en "FASM\Include\proc32.inc", pero no sé como usarlas.
Código (asm) [Seleccionar]
prologue@proc equ prologuedef
macro prologuedef procname,flag,parmbytes,localbytes,reglist
{ local loc
loc = (localbytes+3) and (not 3)
parmbase@proc equ ebp+8
localbase@proc equ ebp-loc
if parmbytes | localbytes
push ebp
mov ebp,esp
if localbytes
sub esp,loc
end if
end if
irps reg, reglist \{ push reg \} }
epilogue@proc equ epiloguedef
macro epiloguedef procname,flag,parmbytes,localbytes,reglist
{ irps reg, reglist \{ reverse pop reg \}
if parmbytes | localbytes
leave
end if
if flag and 10000b
retn
else
retn parmbytes
end if }