.file "20001108-1.c" .text .align 2 .globl signed_poly .type signed_poly, @function signed_poly: link.w %a6,#0 movm.l #0x3800,-(%sp) move.l 8(%a6),%d0 move.l 12(%a6),%d1 move.l 16(%a6),%d4 move.l %d4,%d3 muls.l %d1,%d2:%d3 add.l %d3,%d1 addx.l %d2,%d0 movm.l (%sp)+,#0x1c unlk %a6 rts .size signed_poly, .-signed_poly .align 2 .globl unsigned_poly .type unsigned_poly, @function unsigned_poly: link.w %a6,#0 movm.l #0x3800,-(%sp) move.l 8(%a6),%d0 move.l 12(%a6),%d1 move.l 16(%a6),%d4 move.l %d4,%d3 mulu.l %d1,%d2:%d3 add.l %d3,%d1 addx.l %d2,%d0 movm.l (%sp)+,#0x1c unlk %a6 rts .size unsigned_poly, .-unsigned_poly .align 2 .globl main .type main, @function main: link.w %a6,#0 move.l %d3,-(%sp) move.l %d2,-(%sp) pea -3.w pea 2.w clr.l -(%sp) jbsr signed_poly lea (12,%sp),%sp moveq.l #-1,%d2 moveq.l #-4,%d3 sub.l %d3,%d1 subx.l %d2,%d0 jbne .L6 pea 3.w pea 2.w clr.l -(%sp) jbsr unsigned_poly lea (12,%sp),%sp clr.l %d2 moveq.l #8,%d3 sub.l %d3,%d1 subx.l %d2,%d0 jbeq .L5 .L6: jbsr abort .align 2 .L5: clr.l -(%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"