.file "sibcall-4.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_void1 clr.l -(%sp) jbsr exit nop .size main, .-main .align 2 .type recurser_void1, @function recurser_void1: link.w %a6,#0 move.l n,%d0 jbeq .L4 moveq.l #7,%d1 cmp.l %d0,%d1 jbeq .L4 moveq.l #8,%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 jbsr recurser_void2 jbra .L2 .align 2 .L4: jbsr track move.l n,%d0 jbra .L3 .align 2 .L2: unlk %a6 rts .size recurser_void1, .-recurser_void1 .align 2 .type recurser_void2, @function recurser_void2: link.w %a6,#0 move.l n,%d0 jbeq .L8 moveq.l #7,%d1 cmp.l %d0,%d1 jbeq .L8 moveq.l #8,%d1 cmp.l %d0,%d1 jbeq .L8 .L7: moveq.l #10,%d1 cmp.l %d0,%d1 jbeq .L6 addq.l #1,%d0 move.l %d0,n jbsr recurser_void1 jbra .L6 .align 2 .L8: jbsr track move.l n,%d0 jbra .L7 .align 2 .L6: unlk %a6 rts .size recurser_void2, .-recurser_void2 .align 2 .globl track .type track, @function track: link.w %a6,#-4 move.l n,%d0 jbne .L11 lea (-1,%a6),%a0 move.l %a0,trackpoint jbra .L10 .align 2 .L11: subq.l #7,%d0 moveq.l #1,%d1 cmp.l %d0,%d1 jbcs .L14 move.l %a6,%d0 subq.l #1,%d0 cmp.l trackpoint,%d0 jbeq .L10 .L14: jbsr abort .align 2 .L10: unlk %a6 rts .size track, .-track .comm trackpoint,4,2 .ident "GCC: (GNU) 3.3.2"