.file "20001111-1.c" .local next_buffer .comm next_buffer,4,2 .data .align 2 .type t, @object .size t, 4 t: .long 1 .local u .comm u,4,2 .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 move.l %a3,-(%sp) move.l %a2,-(%sp) move.l u,%a2 lea bar,%a3 tst.l %a2 jbeq .L7 lea (%a2,%a2.l*2),%a0 lea (%a2,%a0.l*8),%a0 move.l %a0,%d0 lsl.l #5,%d0 add.l %a0,%d0 lsl.l #2,%d0 sub.l %a2,%d0 lsl.l #4,%d0 sub.l %a2,%d0 jbra .L1 .align 2 .L7: jbsr (%a3) addq.l #1,%a2 moveq.l #1,%d0 cmp.l %a2,%d0 jbcc .L7 move.l next_buffer,%a1 lea (%a1,%a1.l*2),%a0 lea (%a1,%a0.l*8),%a0 move.l %a0,%d0 lsl.l #5,%d0 add.l %a0,%d0 lsl.l #2,%d0 sub.l %a1,%d0 lsl.l #4,%d0 sub.l %a1,%d0 add.l 8(%a6),%d0 .L1: move.l -8(%a6),%a2 move.l -4(%a6),%a3 unlk %a6 rts .size foo, .-foo .align 2 .globl bar .type bar, @function bar: link.w %a6,#0 unlk %a6 rts .size bar, .-bar .align 2 .globl main .type main, @function main: link.w %a6,#0 move.l %a2,-(%sp) pea 3.w lea foo,%a2 jbsr (%a2) addq.l #4,%sp moveq.l #3,%d1 cmp.l %d0,%d1 jbne .L14 moveq.l #1,%d0 move.l %d0,next_buffer pea 2.w jbsr (%a2) addq.l #4,%sp cmp.l #52785,%d0 jbeq .L13 .L14: jbsr abort .align 2 .L13: clr.l -(%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"