.file "sibcall-2.c" .globl n .section .bss .align 2 .type n, @object .size n, 4 n: .zero 4 .text .align 2 .globl main .type main, @function main: link.w %a6,#0 jbsr recurser_void clr.l -(%sp) jbsr exit nop .size main, .-main .align 2 .globl recurser_void .type recurser_void, @function recurser_void: link.w %a6,#0 .align 2 .L6: move.l n,%d0 jbeq .L4 moveq.l #7,%d1 cmp.l %d0,%d1 jbeq .L4 .L3: moveq.l #10,%d1 cmp.l %d0,%d1 jbeq .L2 addq.l #1,%d0 move.l %d0,n jbra .L6 .align 2 .L4: jbsr track move.l n,%d0 jbra .L3 .align 2 .L2: unlk %a6 rts .size recurser_void, .-recurser_void .align 2 .globl track .type track, @function track: link.w %a6,#-4 move.l n,%d0 jbne .L8 lea (-1,%a6),%a0 move.l %a0,trackpoint jbra .L7 .align 2 .L8: moveq.l #7,%d1 cmp.l %d0,%d1 jbne .L11 move.l %a6,%d0 subq.l #1,%d0 cmp.l trackpoint,%d0 jbeq .L7 .L11: jbsr abort .align 2 .L7: unlk %a6 rts .size track, .-track .comm trackpoint,4,2 .ident "GCC: (GNU) 3.3.2"