home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / compiler / aros / rt_stubs.s < prev    next >
Encoding:
Text File  |  1997-01-09  |  1.2 KB  |  74 lines

  1. #    (C) 1995-96 AROS - The Amiga Replacement OS
  2. #    $Id: rt_stubs.s,v 1.2 1996/08/31 12:58:10 aros Exp $
  3. #    $Log: rt_stubs.s,v $
  4. #    Revision 1.2  1996/08/31 12:58:10  aros
  5. #    Merged in/modified for FreeBSD.
  6. #
  7. #    Revision 1.1  1996/08/23 17:26:44  digulla
  8. #    Files with functions for RT and Purify
  9. #
  10. #    Revision 1.3  1996/08/13 14:03:18    digulla
  11. #    Added standard headers
  12. #
  13. #    Revision 1.2  1996/08/01 17:41:25    digulla
  14. #    Added standard header for all files
  15. #
  16. #    Desc:
  17. #    Lang:
  18.  
  19. #*****************************************************************************
  20. #
  21. #   NAME
  22. #    RT_Leave
  23. #
  24. #   FUNCTION
  25. #    Tell RT that you have left a function.
  26. #
  27. #   INPUTS
  28. #    none
  29. #
  30. #   RESULT
  31. #    none
  32. #
  33. #   NOTES
  34. #    Preserves all registers.
  35. #
  36. #   EXAMPLE
  37. #
  38. #   BUGS
  39. #
  40. #   SEE ALSO
  41. #
  42. #   INTERNALS
  43. #
  44. #   HISTORY
  45. #
  46. #******************************************************************************
  47.     .text
  48.     .balign    16
  49.     .globl    RT_Leave
  50.     .type    RT_Leave,@function
  51. RT_Leave:
  52.     # Push all registers
  53.     pushl    %eax
  54.     pushl    %ebx
  55.     pushl    %ecx
  56.     pushl    %edx
  57.     pushl    %edi
  58.     pushl    %esi
  59.     pushl    %ebp
  60.  
  61.     # Call RT_IntLeave
  62.     call    RT_IntLeave
  63.  
  64.     # Restore registers and return
  65.     popl    %ebp
  66.     popl    %esi
  67.     popl    %edi
  68.     popl    %edx
  69.     popl    %ecx
  70.     popl    %ebx
  71.     popl    %eax
  72.     ret
  73.  
  74.