home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / MAXONC3_6OF8.DMS / in.adf / LIBSRC.LHA / LIBSRC / startup.asm < prev    next >
Encoding:
Assembly Source File  |  1994-04-15  |  881 b   |  62 lines

  1.  
  2.  *
  3.  * Maxon C++ Library:
  4.  *
  5.  * Modul "startup"
  6.  *
  7.  * Jens Gelhar 24.11.93
  8.  *
  9.  
  10.     ; Export:
  11.     xdef    __StartUp,_EXIT_0__Reply_StartuP_MessAge,_INIT_0_Get_StartuP_MessAge,StartupMessage
  12.  
  13.     ; Import:
  14.     xref    main_,_wbmain,__Writeflag
  15.  
  16. sysbase        =    4
  17.  
  18. Forbid        = -132
  19. GetMsg        = -372
  20. ReplyMsg    = -378
  21. WaitPort    = -384
  22.  
  23. _INIT_0_Get_StartuP_MessAge:
  24.     move.l    sysbase.w,a6
  25.     move.l    $114(a6),a5      ; ThisTask
  26.     tst.l    $AC(a5)
  27.     bne.b    ret
  28.     move.l    #__Writeflag,d0
  29.     bne.b    ret
  30.     lea    $5C(a5),a0
  31.     move.l    a0,-(a7)
  32.     jsr    WaitPort(a6)
  33.     move.l    (a7)+,a0
  34.     jsr    GetMsg(a6)
  35.     move.l    d0,StartupMessage
  36. ret    rts
  37.  
  38. __StartUp:
  39.     move.l    StartupMessage,d0
  40.     beq.b    .cli
  41.     move.l    d0,-(a7)
  42.     jsr    _wbmain
  43.     addq.l    #4,a7
  44.     moveq    #0,d0
  45.     rts
  46. .cli    jmp main_
  47.  
  48. _EXIT_0__Reply_StartuP_MessAge:
  49.     move.l    StartupMessage,d2
  50.     beq.b    ret
  51.     move.l    sysbase.w,a6
  52.     jsr    Forbid(a6)
  53.     move.l    d2,a1
  54.     jmp    ReplyMsg(a6)
  55.  
  56.     SECTION D,DATA
  57.  
  58. StartupMessage:    dc.l    0
  59.  
  60.     end
  61.  
  62.