.file "20010209-1.c" .text .align 2 .type bar.0, @function bar.0: link.w %a6,#-4 move.l %a0,-4(%a6) move.l 8(%a6),%a1 clr.l %d1 move.l b,%d0 cmp.l %d1,%d0 jble .L10 move.l %a1,%a0 .align 2 .L8: move.l %d1,%d0 jble .L7 add.l -4(%a0),%d0 .L7: move.l %d0,(%a0)+ addq.l #1,%d1 move.l b,%d0 cmp.l %d1,%d0 jbgt .L8 .L10: move.l -4(%a1,%d0.l*4),%d0 unlk %a6 rts .size bar.0, .-bar.0 .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 move.l %d2,-(%sp) move.l %sp,%d2 move.l b,%d0 subq.l #1,%d0 lsl.l #2,%d0 addq.l #4,%d0 sub.l %d0,%sp move.l %sp,-(%sp) move.l %a6,%a0 jbsr (bar.0) move.l %d2,%sp move.l -4(%a6),%d2 unlk %a6 rts .size foo, .-foo .align 2 .globl main .type main, @function main: link.w %a6,#0 moveq.l #6,%d0 move.l %d0,b jbsr foo moveq.l #15,%d1 cmp.l %d0,%d1 jbeq .L12 jbsr abort .align 2 .L12: clr.l -(%sp) jbsr exit nop .size main, .-main .comm b,4,2 .ident "GCC: (GNU) 3.3.2"