3 .type _longjmp,@function
4 .type longjmp,@function
8 * void longjmp(jmp_buf env, int val);
9 * put val into return register and restore the env saved in setjmp
10 * if val(r4) is 0, put 1 there.
12 /* 0) move old return address into r0 */
14 /* 1) put it into link reg */
16 /* 2 ) restore stack ptr */
18 /* 3) restore control reg */
21 /* 4) restore r14-r31 */
60 /* 5) put val into return reg r3 */
63 /* 6) check if return value is 0, make it 1 in that case */