.file "20010129-1.c" .local l.0 .comm l.0,4,2 .text .align 2 .globl baz1 .type baz1, @function baz1: link.w %a6,#0 move.l (l.0),%d0 addq.l #1,(l.0) unlk %a6 rts .size baz1, .-baz1 .align 2 .globl baz2 .type baz2, @function baz2: link.w %a6,#0 clr.l %d0 unlk %a6 rts .size baz2, .-baz2 .align 2 .globl baz3 .type baz3, @function baz3: link.w %a6,#0 tst.l 8(%a6) jbne .L4 jbsr abort .align 2 .L4: moveq.l #1,%d0 unlk %a6 rts .size baz3, .-baz3 .align 2 .globl foo .type foo, @function foo: link.w %a6,#-256 movm.l #0x3f3c,-(%sp) move.l 8(%a6),%d6 move.l 12(%a6),%d5 move.l 16(%a6),%d3 clr.l %d7 move.b #10,-256(%a6) clr.b -255(%a6) lea baz1,%a5 move.l %a6,%d4 add.l #-256,%d4 lea baz2,%a4 .align 2 .L26: move.l %d6,-(%sp) jbsr (%a5) addq.l #4,%sp cmp.l %d0,%d5 jble .L27 move.b -256(%a6),%d0 cmp.b #32,%d0 jbeq .L26 cmp.b #9,%d0 jbeq .L26 clr.l %d2 tst.l %d7 jbne .L10 move.l %d4,-(%sp) jbsr (%a4) addq.l #4,%sp tst.l %d0 jbne .L10 moveq.l #16,%d0 and.l %d3,%d0 jbeq .L26 moveq.l #1,%d7 moveq.l #1,%d2 .align 2 .L10: move.l %d3,%d0 and.l #16400,%d0 cmp.l #16400,%d0 jbeq .L28 .L13: moveq.l #2,%d0 and.l %d3,%d0 jbne .L26 .L12: move.l %d3,%d0 and.l #8192,%d0 jbeq .L14 move.l %d4,-(%sp) jbsr (%a4) addq.l #4,%sp tst.l %d0 jbeq .L26 .align 2 .L14: move.l %d3,%d0 and.l #5128,%d0 jbeq .L15 move.l %d4,-(%sp) jbsr (%a4) addq.l #4,%sp tst.l %d0 jbeq .L26 .align 2 .L15: move.l %d3,%d0 and.l #512,%d0 jbeq .L16 move.l %d4,-(%sp) jbsr (%a4) addq.l #4,%sp tst.l %d0 jbeq .L26 .L16: move.b %d3,%d0 and.b #-128,%d0 jbeq .L26 move.l bar,%a2 clr.l %d2 tst.l %a2 jbeq .L26 lea baz3,%a3 .align 2 .L23: move.l %d2,-(%sp) jbsr (%a3) addq.l #4,%sp tst.l %d0 jbne .L26 move.l (%a2),%a2 addq.l #1,%d2 tst.l %a2 jbne .L23 jbra .L26 .align 2 .L28: tst.l %d2 jbne .L12 jbra .L13 .align 2 .L27: clr.l %d0 movm.l -296(%a6),#0x3cfc unlk %a6 rts .size foo, .-foo .align 2 .globl main .type main, @function main: link.w %a6,#-4 clr.l -4(%a6) lea (-4,%a6),%a0 move.l %a0,bar move.l #51217,-(%sp) pea 1.w pea -4(%a6) jbsr foo clr.l -(%sp) jbsr exit nop .size main, .-main .comm bar,4,2 .ident "GCC: (GNU) 3.3.2"