home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / c / hce.lha / HCE / LibSource / clib / Crt / begin.a next >
Encoding:
Text File  |  1992-09-02  |  1.2 KB  |  49 lines

  1. *-----------------------------------------------------------------------+
  2. *    .begin.a    Startup module for Sozobon-C.            |
  3. *            Created 13May89 by Jeff Lydiatt.        |
  4. *-----------------------------------------------------------------------+
  5. *
  6.     SECTION CODE,CODE
  7.     XDEF    __exit
  8.     XDEF    _SysBase
  9.     XDEF    _DOSBase
  10.     XDEF    _errno
  11.     XDEF    __argc
  12.     XDEF    __argv
  13.     XREF    __main
  14.  
  15.  
  16. start:
  17.     move.l    a7,stackPtr        ; so I can restore the environment on exit.
  18.     movem.l a0,-(a7)        ; push CLI command address on stack.
  19.     movem.l d0,-(a7)        ; push CLI command Length on stack.
  20.     jsr    __main            ; call the main procedure.
  21. *
  22. * void _exit(code)
  23. *   long code;
  24. *
  25. * Terminate process with a return value of <code>
  26. *
  27. __exit:
  28.     movem.l 4(a7),d0        ; get the return code.
  29.     move.l stackPtr,a7        ; restore the stack pointer.
  30.     rts                ; and return to caller
  31. *
  32. * initialized data space
  33. *
  34.     DATA DATA
  35.     EVEN 0,4
  36. stackPtr:            ;* Stack ptr contents at entry.
  37.     DC.l    0
  38. _SysBase:            ;* Amiga specific stuff. 
  39.     DC.l    4
  40. _DOSBase:            ;* (ditto)
  41.     DC.l    0
  42. _errno:                ;* system error number - (short int model
  43.     DC.l    0        ;*                        only uses 2 bytes)
  44. __argc:                ;* number of command line args.
  45.     DC.l    0
  46. __argv:                ;* pointer to command line arg list.
  47.     DC.l    0
  48.     END
  49.