.file "20020215-1.c" .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 move.l %d3,-(%sp) move.l %d2,-(%sp) move.l 8(%a6),%d0 move.l 12(%a6),%d1 move.l %d0,%d3 swap %d3 clr.w %d3 move.l %d1,%d2 clr.w %d2 swap %d2 or.l %d3,%d2 addq.l #1,%d2 move.l %d2,%d3 clr.w %d3 swap %d3 move.w %d3,%d0 move.w %d2,%d3 swap %d3 mov.w %d1,%d3 move.l %d3,%d1 move.l (%sp)+,%d2 move.l (%sp)+,%d3 unlk %a6 rts .size foo, .-foo .section .rodata .align 2 .LC0: .word 1000 .long 2000 .word 3000 .text .align 2 .globl main .type main, @function main: link.w %a6,#0 move.l %d3,-(%sp) move.l %d2,-(%sp) move.l .LC0+4,-(%sp) move.l .LC0,-(%sp) jbsr foo addq.l #8,%sp move.l %d0,%d2 move.l %d1,%d3 bfexts %d0{#0:#16},%d0 cmp.w #1000,%d0 jbne .L4 move.l %d2,%d1 swap %d1 clr.w %d1 move.l %d3,%d0 clr.w %d0 swap %d0 or.l %d1,%d0 cmp.l #2001,%d0 jbeq .L5 .L4: jbsr abort .align 2 .L5: cmp.w #3000,%d3 jbne .L4 clr.l -(%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"