Subversion Repositories Kolibri OS

Rev

Rev 5195 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ; Magic for proc32.inc: prologue/epilogue for esp-based addressing
  2. ; fpo stands from Frame Pointer Omission
  3. macro fpo_prologue procname,flag,parmbytes,localbytes,reglist
  4. {
  5. local loc,regcount
  6.     loc = (localbytes+3) and (not 3)
  7.     regcount = 0
  8.     irps reg, reglist
  9.     \{
  10.         regcount = regcount+1
  11.         push    reg
  12.     \}
  13.     if loc
  14.         sub     esp, loc
  15.     end if
  16.     parmbase@proc equ esp+4+loc+regcount*4
  17.     localbase@proc equ esp
  18.     fpo_localsize = loc
  19. }
  20. macro fpo_epilogue procname,flag,parmbytes,localbytes,reglist
  21. {
  22.     irps reg, reglist \{ reverse pop reg \}
  23.     if flag and 10000b
  24.         retn
  25.     else
  26.         retn    parmbytes
  27.     end if
  28. }
  29.