.file "20001023-1.c" .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 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 baz .type baz, @function baz: link.w %a6,#0 moveq.l #16,%d0 cmp.l 8(%a6),%d0 jbeq .L3 jbsr abort .align 2 .L3: unlk %a6 rts .size baz, .-baz .align 2 .globl test .type test, @function test: link.w %a6,#-44 movm.l #0x3f3c,-(%sp) move.l 8(%a6),%a4 move.l 12(%a6),%a2 clr.l %d0 move.b 9(%a2),%d0 move.l %d0,%a3 clr.l %d1 move.b 8(%a2),%d1 clr.l %d2 move.b 7(%a2),%d2 clr.l %d3 move.b 6(%a2),%d3 clr.l %d4 move.b 5(%a2),%d4 clr.l %d5 move.b 4(%a2),%d5 clr.l %d6 move.b 3(%a2),%d6 clr.l %d7 move.b 2(%a2),%d7 clr.l %d0 move.b 1(%a2),%d0 move.l %d0,%a0 clr.l %d0 move.b (%a2),%d0 move.l %a3,-(%sp) move.l %d1,-(%sp) move.l %d2,-(%sp) move.l %d3,-(%sp) move.l %d4,-(%sp) move.l %d5,-(%sp) move.l %d6,-(%sp) move.l %d7,-(%sp) move.l %a0,-(%sp) move.l %d0,-(%sp) move.l %a4,-(%sp) move.l #bar,%d2 move.l %d2,%a0 jbsr (%a0) lea (44,%sp),%sp moveq.l #4,%d3 lea a,%a5 lea c,%a3 lea (-2,%a6),%a1 lea (9,%a2),%a0 .align 2 .L10: move.b (%a0),%d0 subq.l #1,%a0 move.b (%a5,%d3.l),%d1 eor.b %d1,%d0 move.b (%a3,%d3.l),%d4 eor.b %d0,%d4 move.b %d4,(%a1) subq.l #1,%a1 subq.l #1,%d3 jbpl .L10 pea -6(%a6) pea 30.w pea -13(%a6) jbsr foo lea (12,%sp),%sp lea d,%a0 move.b (%a4,%a0.l),%d1 move.b (%a4,%a3.l),%d0 move.b %d1,%d7 eor.b %d0,%d7 clr.l -(%sp) move.b %d0,(3,%sp) move.l %a4,-(%sp) clr.l -(%sp) move.b %d1,(3,%sp) move.l %a4,-(%sp) move.l %d2,%a0 jbsr (%a0) lea (16,%sp),%sp clr.l -(%sp) move.b %d7,(3,%sp) jbsr baz clr.b %d4 addq.l #4,%sp moveq.l #4,%d3 lea b,%a1 clr.l %d5 lea (-2,%a6),%a0 clr.l %d1 .align 2 .L15: move.b (%a2,%d3.l),%d0 move.b -11(%a0),%d2 eor.b %d0,%d2 move.b %d2,%d5 move.b (%a1,%d5.l),%d2 eor.b %d7,%d2 move.b %d2,%d1 move.b (%a3,%d1.l),%d2 eor.b %d4,%d2 move.b %d2,(%a0) move.b %d0,%d4 subq.l #1,%d3 subq.l #1,%a0 jbpl .L15 clr.b %d4 moveq.l #4,%d3 clr.l %d5 lea (-8,%a6),%a0 clr.l %d1 .align 2 .L20: move.b 6(%a0),%d0 move.b -10(%a0),%d2 eor.b %d0,%d2 move.b %d2,%d5 move.b (%a1,%d5.l),%d2 eor.b %d7,%d2 move.b %d2,%d1 move.b (%a3,%d1.l),%d2 eor.b %d4,%d2 move.b %d2,(%a0) move.b %d0,%d4 subq.l #1,%d3 subq.l #1,%a0 jbpl .L20 clr.b %d4 moveq.l #4,%d3 clr.l %d6 lea (-2,%a6),%a0 clr.l %d5 .align 2 .L25: move.b -6(%a0),%d1 move.b -21(%a0),%d2 eor.b %d1,%d2 move.b %d2,%d6 move.b (%a1,%d6.l),%d2 eor.b %d7,%d2 move.b %d2,%d5 move.b (%a3,%d5.l),%d0 eor.b %d0,%d4 clr.l %d0 move.b %d4,%d0 move.b (%a5,%d0.l),%d2 move.b (%a3,%d0.l),%d4 eor.b %d4,%d2 move.b %d2,(%a0) move.b %d1,%d4 subq.l #1,%d3 subq.l #1,%a0 jbpl .L25 movm.l -84(%a6),#0x3cfc unlk %a6 rts .size test, .-test .align 2 .globl main .type main, @function main: link.w %a6,#0 move.b #-36,c+4 move.b #-52,d+4 pea a pea 4.w jbsr test clr.l -(%sp) jbsr exit nop .size main, .-main .comm a,256,1 .comm b,256,1 .comm c,256,1 .comm d,256,1 .ident "GCC: (GNU) 3.3.2"