.file "20020415-1.c" .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 movm.l #0x3830,-(%sp) move.l 8(%a6),%a2 move.l 12(%a6),%a0 move.l %sp,%d4 move.l 4(%a0),%d2 move.l %d2,%d0 move.l (%a0),%d1 cmp.l %d2,%d1 jble .L2 move.l %d1,%d0 .L2: addq.l #1,%d0 moveq.l #-2,%d3 and.l %d3,%d0 sub.l %d0,%sp move.l %d2,%d0 cmp.l %d2,%d1 jble .L3 move.l %d1,%d0 .L3: move.l %sp,%d3 add.l %d0,%d3 move.l %d1,%d2 lea ext,%a1 move.l %d3,%a0 .align 2 .L4: move.l %d2,%d0 mulu.l #0xcccccccd,%d1:%d0 lsr.l #3,%d1 move.l %d1,%a3 lea (%a3,%d1.l*4),%a3 move.l %a3,%d0 add.l %d0,%d0 sub.l %d0,%d2 move.b (%a1,%d2.l),-(%a0) move.l %d1,%d2 jbne .L4 move.l %a0,%a1 cmp.l %a0,%d3 jbls .L10 clr.l %d1 .align 2 .L13: move.b (%a1)+,%d0 extb.l %d0 move.l (%a2),%a0 cmp.l 4(%a2),%a0 jbcc .L9 move.b %d0,(%a0) move.b %d0,%d1 addq.l #1,(%a2) moveq.l #-1,%d0 cmp.l %d1,%d0 jbeq .L10 .L9: cmp.l %a1,%d3 jbhi .L13 .L10: move.l %d4,%sp movm.l -20(%a6),#0xc1c unlk %a6 rts .size foo, .-foo .ident "GCC: (GNU) 3.3.2"