home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / testi / corsoasm / sorgenti7 / daworkbench.s < prev    next >
Text File  |  1995-09-29  |  902b  |  36 lines

  1.  
  2. ICONSTARTUP:
  3.     MOVEM.L    D0/A0-A1/A4/A6,-(SP)    ; salva i registri nello stack
  4.     SUBA.L    A1,A1
  5.     MOVEA.L    4.w,A6
  6.     JSR    -$126(A6)    ; _LVOFindTask(a6)
  7.     MOVEA.L    D0,A4
  8.     TST.L    $AC(A4)        ; pr_CLI(a4) stiamo eseguendo dal CLI?
  9.     BNE.S    FROMCLI        ; se si, salta le formalita'
  10.     LEA    $5C(A4),A0    ; pr_MsgPort
  11.     MOVEA.L    4.W,A6        ; Execbase in a6
  12.     JSR    -$180(A6)    ; _LVOWaitPort
  13.     LEA    $5C(A4),A0    ; pr_MsgPort
  14.     JSR    -$174(A6)    ; _LVOGetMsg
  15.     LEA    RETURNMSG(PC),A0
  16.     MOVE.L    D0,(A0)
  17. FROMCLI:
  18.     MOVEM.L    (SP)+,D0/A0-A1/A4/A6    ; ripristina i registri dallo stack
  19.     BSR.w    MAINCODE    ; esegui il nostro programma
  20.     MOVEM.L    D0/A6,-(SP)
  21.     LEA    RETURNMSG(PC),A6
  22.     TST.L    (A6)        ; Eravamo partiti dal CLI?
  23.     BEQ.S    ExitToDos    ; se si, salta le formalita'
  24.     MOVEA.L    4.w,A6
  25.     JSR    -$84(A6)    ; _LVOForbid - nota! Non serve il permit
  26.     MOVEA.L    RETURNMSG(PC),A1
  27.     JSR    -$17A(A6)    ; _LVOReplyMsg
  28. ExitToDos:
  29.     MOVEM.L    (SP)+,D0/A6        ; exit code
  30.     MOVEQ    #0,d0
  31.     RTS
  32.  
  33. RETURNMSG:
  34.     dc.l    0
  35.  
  36.