.file "20010224-1.c" .globl masktab .data .align 2 .type masktab, @object .size masktab, 12 masktab: .word 1 .word 2 .word 3 .word 4 .word 5 .zero 2 .globl psd .align 2 .type psd, @object .size psd, 12 psd: .word 50 .word 40 .word 30 .word 20 .word 10 .zero 2 .globl bndpsd .align 2 .type bndpsd, @object .size bndpsd, 12 bndpsd: .word 1 .word 2 .word 3 .word 4 .word 5 .zero 2 .text .align 2 .globl ba_compute_psd .type ba_compute_psd, @function ba_compute_psd: link.w %a6,#0 movm.l #0x3838,-(%sp) move.w 10(%a6),%d0 ext.l %d0 lea masktab,%a0 move.w (%a0,%d0.l*2),%a2 lea bndpsd,%a4 lea psd,%a0 move.w (%a0,%d0.l*2),(%a4,%a2.l*2) addq.l #1,%d0 move.l %d0,%d3 moveq.l #4,%d1 cmp.l %d0,%d1 jble .L8 move.l %a2,%d4 add.l %d4,%d4 lea logadd,%a3 add.l %d0,%d0 move.l %d0,%d2 add.l #psd,%d2 .align 2 .L6: move.l %d2,-(%sp) move.l %d4,%d0 add.l #bndpsd,%d0 move.l %d0,-(%sp) jbsr (%a3) move.w %d0,(%a4,%a2.l*2) addq.l #2,%d2 addq.l #8,%sp addq.l #1,%d3 moveq.l #4,%d1 cmp.l %d3,%d1 jbgt .L6 .L8: movm.l -24(%a6),#0x1c1c unlk %a6 rts .size ba_compute_psd, .-ba_compute_psd .align 2 .globl logadd .type logadd, @function logadd: link.w %a6,#0 move.l 12(%a6),%a1 move.l 8(%a6),%a0 move.w (%a0),%a0 add.w (%a1),%a0 move.w %a0,%a0 move.l %a0,%d0 unlk %a6 rts .size logadd, .-logadd .align 2 .globl main .type main, @function main: link.w %a6,#0 clr.l -(%sp) jbsr ba_compute_psd addq.l #4,%sp cmp.w #140,bndpsd+2 jbeq .L11 jbsr abort .align 2 .L11: clr.l %d0 unlk %a6 rts .size main, .-main .ident "GCC: (GNU) 3.3.2"