blitz_gc.win32.x86.s 548 B

12345678910111213141516171819202122232425262728293031323334353637
  1. ;Note:
  2. ;
  3. ;The bbGCEnter/bbGCLeave stuff below is for the Win32 only dll hack.
  4. ;
  5. ;Need a much nicer way to manage dlls...
  6. ;
  7. format MS COFF
  8. public _bbGCEnter
  9. public _bbGCLeave
  10. public _bbGCRootRegs
  11. extrn _bbGCStackTop
  12. section "code" code
  13. _bbGCEnter:
  14. mov [_bbGCStackTop],ebp
  15. ret
  16. _bbGCLeave:
  17. mov dword [_bbGCStackTop],0
  18. ret
  19. ;0[esp]=ret
  20. ;4[esp]=buf
  21. _bbGCRootRegs:
  22. mov eax,[esp+4]
  23. mov [eax],ebx
  24. mov [eax+4],esi
  25. mov [eax+8],edi
  26. mov [eax+12],ebp
  27. mov eax,esp
  28. add eax,8
  29. ret