.file "20000906-1.c" .local l.0 .comm l.0,4,2 .text .align 2 .globl alloc_list .type alloc_list, @function alloc_list: link.w %a6,#0 lea (l.0),%a0 move.l %a0,%d0 unlk %a6 rts .size alloc_list, .-alloc_list .globl one .data .align 2 .type one, @object .size one, 4 one: .long 1 .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#-24 movm.l #0x3f3c,-(%sp) move.l 20(%a6),%a2 move.l 24(%a6),%d3 move.l 8(%a6),-8(%a6) move.l 12(%a6),-12(%a6) move.l 16(%a6),-16(%a6) move.l 28(%a6),-24(%a6) clr.l -20(%a6) .L52: clr.l %d1 .align 2 .L6: cmp.l %a2,%d3 trapcs lea (1,%a2),%a3 move.l -24(%a6),%d2 cmp.l %a3,%d2 traphi move.b (%a2),%d0 jbeq .L7 move.b %d0,%d1 move.l -8(%a6),%a1 add.l %d1,%a1 cmp.l -12(%a6),%a1 trapcs lea (1,%a1),%a0 cmp.l -16(%a6),%a0 traphi tst.b (%a1) jbeq .L7 move.l %a3,%a2 move.l %a3,20(%a6) jbra .L6 .align 2 .L7: jbsr alloc_list move.l %a0,-4(%a6) clr.l %d1 move.l 8(%a6),%a5 move.l 12(%a6),%a4 move.l 16(%a6),%d7 .align 2 .L21: cmp.l %a2,%d3 trapcs lea (1,%a2),%a3 cmp.l %a3,%d2 traphi move.b (%a2),%d0 move.b %d0,%d1 move.l %a5,%d6 lea (%a5,%d1.l),%a1 move.l %a4,%d5 cmp.l %a1,%a4 trapcs lea (1,%a1),%a0 move.l %d7,%d4 cmp.l %a0,%d7 traphi move.b %d0,-17(%a6) tst.b (%a1) jbeq .L54 move.l %a3,%a2 move.l %a3,20(%a6) jbra .L21 .align 2 .L54: cmp.l %a2,%d3 trapcs cmp.l %a3,%d2 traphi move.l -20(%a6),%d0 cmp.l one,%d0 jbne .L33 clr.l %d1 .L36: move.l %a2,%a1 addq.l #1,%a2 move.l %a2,20(%a6) cmp.l %a2,%d3 trapcs lea (1,%a2),%a0 cmp.l %a0,%d2 traphi move.b 1(%a1),%d0 jbeq .L33 move.b %d0,%d1 move.l %d6,%a1 add.l %d1,%a1 cmp.l %a1,%d5 trapcs lea (1,%a1),%a0 cmp.l %a0,%d4 traphi tst.b (%a1) jbne .L36 .L33: move.l 32(%a6),%a0 move.l -4(%a6),(%a0) move.l -4(%a6),32(%a6) tst.b (%a2) jbne .L52 movm.l -64(%a6),#0x3cfc unlk %a6 rts .size foo, .-foo .data .type cp0.1, @object .size cp0.1, 5 cp0.1: .string "" .string "" .string "" .string "" .string "" .section .rodata .align 2 .LC0: .long cp0.1 .long cp0.1 .long cp0.1+5 .data .type lp0.2, @object .size lp0.2, 5 lp0.2: .string "\001\001" .string "" .string "" .section .rodata .align 2 .LC1: .long lp0.2 .long lp0.2 .long lp0.2+5 .text .align 2 .globl main .type main, @function main: link.w %a6,#-32 movm.l #0x38,-(%sp) lea (-12,%a6),%a4 pea 12.w pea .LC0 move.l %a4,-(%sp) lea memcpy,%a2 jbsr (%a2) lea (-24,%a6),%a3 pea 12.w pea .LC1 move.l %a3,-(%sp) jbsr (%a2) lea (-28,%a6),%a0 move.l %a0,-32(%a6) pea -32(%a6) lea (-12,%sp),%sp move.l %sp,%d0 pea 12.w move.l %a3,-(%sp) move.l %d0,-(%sp) jbsr (%a2) move.l %sp,%d0 pea 12.w move.l %a4,-(%sp) move.l %d0,-(%sp) jbsr (%a2) lea (12,%sp),%sp jbsr foo lea (48,%sp),%sp clr.l (%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"