
        XDEF    _setjmp
        XDEF    _longjmp

_setjmp
        move.l  4(sp),a0            ;Get argument, envbuf.

        movem.l d2-d7/a2-a7,(a0)    ;Save registers (including SP).
        move.l  (sp),(a0)           ;Save return address.

        moveq   #0,d0               ;Return zero.
        rts


_longjmp                            ;Get first argument, envbuf.
        move.l  4(sp),a0            ;Get second argument, value.
        move.l  8(sp),d0

        movem.l (a0),d2-d7/a2-a7    ;Restore registers (including SP).

        lea     4(sp),sp            ;Skip over return address.

        move.l  (a0),a0             ;Restore saved return address.
        jmp     (a0)                ;Jump to it.

        END


