.file "sibcall-1.c" .text .align 2 .globl main .type main, @function main: link.w %a6,#0 clr.l -(%sp) 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 move.l %d2,-(%sp) move.l 8(%a6),%d2 .align 2 .L6: tst.l %d2 jbeq .L4 moveq.l #7,%d0 cmp.l %d2,%d0 jbeq .L4 .L3: moveq.l #10,%d0 cmp.l %d2,%d0 jbeq .L2 addq.l #1,%d2 jbra .L6 .align 2 .L4: move.l %d2,-(%sp) jbsr track addq.l #4,%sp jbra .L3 .align 2 .L2: move.l -4(%a6),%d2 unlk %a6 rts .size recurser_void, .-recurser_void .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "%d %p %p\n" .text .align 2 .globl track .type track, @function track: link.w %a6,#-4 move.l 8(%a6),%d1 jbne .L8 lea (-1,%a6),%a0 move.l %a0,trackpoint jbra .L7 .align 2 .L8: moveq.l #7,%d0 cmp.l %d1,%d0 jbne .L11 move.l %a6,%d0 subq.l #1,%d0 cmp.l trackpoint,%d0 jbeq .L7 .L11: pea -1(%a6) move.l trackpoint,-(%sp) move.l %d1,-(%sp) pea .LC0 jbsr printf jbsr abort .align 2 .L7: unlk %a6 rts .size track, .-track .comm trackpoint,4,2 .ident "GCC: (GNU) 3.3.2"