.file "loop-2c.c" .text .align 2 .globl g .type g, @function g: link.w %a6,#0 move.l %a2,-(%sp) move.l 8(%a6),%d1 move.l %d1,%d0 lsl.l #2,%d0 move.l %d0,%a1 add.l #a,%a1 subq.l #1,%d1 moveq.l #-1,%d0 cmp.l %d1,%d0 jbeq .L9 move.l %d1,%a2 lea (%a2,%d1.l*2),%a0 add.l #a,%a0 .align 2 .L6: move.l %a0,-(%a1) subq.l #3,%a0 dbra %d1,.L6 clr.w %d1 subq.l #1,%d1 jbcc .L6 .L9: move.l (%sp)+,%a2 unlk %a6 rts .size g, .-g .align 2 .globl main .type main, @function main: link.w %a6,#0 clr.l a+4 clr.l a pea 2.w jbsr g addq.l #4,%sp cmp.l #a,a jbne .L12 cmp.l #a+3,a+4 jbeq .L11 .L12: jbsr abort .align 2 .L11: clr.l -(%sp) jbsr exit nop .size main, .-main .align 2 .globl f .type f, @function f: link.w %a6,#0 move.l %a2,-(%sp) move.l 8(%a6),%d1 move.l %d1,%d0 lsl.l #2,%d0 move.l %d0,%a1 add.l #a,%a1 subq.l #1,%d1 moveq.l #-1,%d0 cmp.l %d1,%d0 jbeq .L20 move.l %d1,%a2 lea (%a2,%d1.l*2),%a0 add.l 12(%a6),%a0 .align 2 .L18: move.l %a0,-(%a1) subq.l #3,%a0 dbra %d1,.L18 clr.w %d1 subq.l #1,%d1 jbcc .L18 .L20: move.l (%sp)+,%a2 unlk %a6 rts .size f, .-f .comm a,8,2 .ident "GCC: (GNU) 3.3.2"