ÀPR_CLI   ¬À
PR_MSGPORT   \€CALLSYS:     @\1 JSR _LVO\1(A6)
 ENDM
€LINKSYS:   R  @\1@\2 MOVE.L A6,-(SP)
 MOVE.L \2,A6
 JSR _LVO\1(A6)
 MOVE.L (SP)+,A6
 ENDM
€
INIT_AMIGA  6   
 MOVE.L SP,Initial_SP
 MOVE.L 4,A6
 MOVE.L A6,ExecBase
 SUBA.L A1,A1
 CALLSYS FindTask
 MOVE.L D0,Own_Task

; Start from Workbench ?

 MOVE.L D0,A4
 TST.L PR_CLI(A4)
 BNE.S \1

; Hole Message

 LEA PR_MsgPort(A4),A0
 CALLSYS WaitPort
 LEA PR_MsgPort(A4),A0
 CALLSYS GetMsg
 MOVE.L D0,WBenchMsg

\1:
 ENDM
€
EXIT_AMIGA   Ü   
 TST.L WBenchMsg
 BEQ.S \1

 CALLSYS Forbid
 MOVE.L WBenchMsg,A1
 CALLSYS ReplyMsg

\1:
 MOVEQ #0,D0
 MOVE.L Initial_SP,SP
 RTS

 BSS
WBenchMsg:DS.L 1
Own_Task:DS.L 1
ExecBase:DS.L 1
Initial_SP:DS.L 1

 TEXT
 ENDM
 