.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl FFmul .ent FFmul $FFmul..ng: FFmul: .frame $30,0,$26,0 .prologue 0 mov $16,$0 ret $31,($26),1 .end FFmul .align 2 .align 4 .globl DUPFFdeg .ent DUPFFdeg $DUPFFdeg..ng: DUPFFdeg: .frame $30,0,$26,0 .prologue 0 ldl $0,4($16) ret $31,($26),1 .end DUPFFdeg .align 2 .align 4 .globl DUPFFnew .ent DUPFFnew DUPFFnew: .frame $30,0,$26,0 .mask 0x4000600,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $DUPFFnew..ng: lda $30,-32($30) ldq $27,malloc($29) !literal!4 stq $10,16($30) mov $16,$10 stq $26,0($30) lda $16,16($31) stq $9,8($30) .prologue 1 jsr $26,($27),malloc !lituse_jsr!4 ldah $29,0($26) !gpdisp!5 stq $31,8($0) lda $29,0($29) !gpdisp!5 mov $0,$9 addl $10,1,$16 cpys $f31,$f31,$f31 lda $17,4($31) blt $10,$L4 ldq $27,calloc($29) !literal!2 jsr $26,($27),calloc !lituse_jsr!2 ldah $29,0($26) !gpdisp!3 stq $0,8($9) lda $29,0($29) !gpdisp!3 $L4: stl $10,0($9) mov $9,$0 cpys $f31,$f31,$f31 lda $1,-1($31) ldq $26,0($30) stl $1,4($9) ldq $9,8($30) ldq $10,16($30) lda $30,32($30) ret $31,($26),1 .end DUPFFnew .align 2 .align 4 .globl DUPFFfree .ent DUPFFfree $DUPFFfree..ng: DUPFFfree: .frame $30,0,$26,0 .prologue 0 ret $31,($26),1 .end DUPFFfree .align 2 .align 4 .globl DUPFFswap .ent DUPFFswap $DUPFFswap..ng: DUPFFswap: .frame $30,0,$26,0 .prologue 0 ret $31,($26),1 .end DUPFFswap .align 2 .align 4 .globl DUPFFcopy .ent DUPFFcopy $DUPFFcopy..ng: DUPFFcopy: .frame $30,0,$26,0 .prologue 0 mov $16,$0 ret $31,($26),1 .end DUPFFcopy .align 2 .align 4 .globl DUPFFshift_add .ent DUPFFshift_add $DUPFFshift_add..ng: DUPFFshift_add: .frame $30,0,$26,0 .prologue 0 ret $31,($26),1 .end DUPFFshift_add .section .rodata.str1.1,"aMS",@progbits,1 $LC0: .ascii "DUPFFexgcd called on degrees %d and %d\12\0" .text .align 2 .align 4 .globl DUPFFexgcd .ent DUPFFexgcd DUPFFexgcd: .frame $30,0,$26,0 .mask 0x400fe00,0 ldah $29,0($27) !gpdisp!6 lda $29,0($29) !gpdisp!6 $DUPFFexgcd..ng: lda $30,-112($30) stq $9,8($30) mov $18,$9 stq $11,24($30) mov $19,$11 stq $13,40($30) mov $16,$13 stq $14,48($30) mov $17,$14 stq $15,56($30) ldah $15,$LC0($29) !gprelhigh stq $26,0($30) stq $10,16($30) stq $12,32($30) .prologue 1 .align 4 $L11: mov $9,$16 cpys $f31,$f31,$f31 bsr $26,$DUPFFdeg..ng mov $11,$16 mov $0,$10 bsr $26,$DUPFFdeg..ng mov $10,$17 ldq $27,printf($29) !literal!8 lda $16,$LC0($15) !gprellow mov $0,$18 jsr $26,($27),printf !lituse_jsr!8 ldah $29,0($26) !gpdisp!9 lda $29,0($29) !gpdisp!9 mov $9,$16 bsr $26,$DUPFFdeg..ng mov $11,$16 mov $0,$10 bsr $26,$DUPFFdeg..ng mov $13,$2 cmplt $10,$0,$1 mov $0,$12 cpys $f31,$f31,$f31 mov $9,$3 beq $1,$L10 mov $14,$13 mov $11,$9 mov $2,$14 cpys $f31,$f31,$f31 mov $3,$11 br $31,$L11 $L10: cmpeq $10,2,$1 beq $1,$L13 cmpeq $0,1,$1 bne $1,$L12 $L13: ldq $27,abort($29) !literal!7 jsr $26,($27),abort !lituse_jsr!7 $L12: mov $9,$0 ldq $1,8($9) ldl $2,0($1) bne $2,$L26 $L9: ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) ldq $11,24($30) ldq $12,32($30) ldq $13,40($30) ldq $14,48($30) ldq $15,56($30) lda $30,112($30) ret $31,($26),1 $L26: mov $9,$16 cpys $f31,$f31,$f31 bsr $26,$DUPFFcopy..ng mov $11,$16 mov $0,$15 bsr $26,$DUPFFcopy..ng lda $16,1($31) stq $0,64($30) bsr $26,$DUPFFnew..ng lda $16,2($31) ldq $1,8($0) stq $0,72($30) stl $12,0($1) stl $31,4($0) bsr $26,$DUPFFnew..ng lda $16,1($31) stq $0,80($30) cpys $f31,$f31,$f31 bsr $26,$DUPFFnew..ng lda $16,2($31) stq $0,88($30) bsr $26,$DUPFFnew..ng lda $1,1($31) ldq $2,8($0) stq $0,96($30) stl $1,0($2) stl $31,4($0) $L17: ldq $16,64($30) bis $31,$31,$31 bsr $26,$DUPFFdeg..ng mov $0,$9 ble $0,$L27 lda $16,1($31) ldq $2,64($30) ldq $1,8($2) s4addq $9,$1,$1 ldl $17,0($1) bis $31,$31,$31 bsr $26,$FFmul..ng mov $15,$16 addl $31,$0,$0 stq $0,104($30) bsr $26,$DUPFFdeg..ng subl $0,$9,$10 cmplt $0,$9,$11 s4addq $0,0,$12 .align 4 $L20: ldq $17,104($30) bne $11,$L28 ldq $1,8($15) addq $12,$1,$1 ldl $16,0($1) bis $31,$31,$31 bsr $26,$FFmul..ng ldq $17,64($30) lda $1,2($31) addl $31,$0,$0 subl $1,$0,$9 mov $15,$16 mov $10,$18 mov $9,$19 bsr $26,$DUPFFshift_add..ng mov $9,$19 ldq $16,72($30) bis $31,$31,$31 mov $10,$18 ldq $17,88($30) bsr $26,$DUPFFshift_add..ng mov $9,$19 ldq $16,80($30) bis $31,$31,$31 mov $10,$18 ldq $17,96($30) bsr $26,$DUPFFshift_add..ng br $31,$L20 $L28: mov $15,$16 ldq $17,64($30) bsr $26,$DUPFFswap..ng ldq $17,88($30) ldq $16,72($30) bis $31,$31,$31 bsr $26,$DUPFFswap..ng ldq $17,96($30) ldq $16,80($30) bsr $26,$DUPFFswap..ng br $31,$L17 $L27: bne $0,$L25 mov $15,$16 ldq $17,64($30) bsr $26,$DUPFFswap..ng ldq $17,88($30) ldq $16,72($30) bis $31,$31,$31 bsr $26,$DUPFFswap..ng ldq $17,96($30) ldq $16,80($30) bsr $26,$DUPFFswap..ng $L25: ldq $16,88($30) bis $31,$31,$31 bsr $26,$DUPFFfree..ng ldq $16,96($30) bsr $26,$DUPFFfree..ng ldq $16,64($30) bsr $26,$DUPFFfree..ng ldq $1,80($30) mov $15,$0 ldq $2,72($30) stq $2,0($13) cpys $f31,$f31,$f31 stq $1,0($14) br $31,$L9 .end DUPFFexgcd .section .rodata.str1.1 $LC1: .ascii "calling DUPFFexgcd on degrees %d and %d\12\0" .text .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4005a00,0 ldah $29,0($27) !gpdisp!10 lda $29,0($29) !gpdisp!10 $main..ng: lda $30,-64($30) lda $16,1($31) stq $26,0($30) stq $9,8($30) lda $9,1($31) stq $11,16($30) stq $12,24($30) stq $14,32($30) .prologue 1 bsr $26,$DUPFFnew..ng lda $16,2($31) mov $0,$14 ldq $1,8($0) stl $9,4($1) stl $9,4($0) bsr $26,$DUPFFnew..ng mov $14,$16 lda $2,2($31) cpys $f31,$f31,$f31 mov $0,$11 ldq $1,8($0) stl $9,8($1) stl $2,4($0) bsr $26,$DUPFFdeg..ng mov $11,$16 mov $0,$12 bsr $26,$DUPFFdeg..ng ldah $16,$LC1($29) !gprelhigh ldq $27,printf($29) !literal!11 mov $12,$17 mov $0,$18 lda $16,$LC1($16) !gprellow jsr $26,($27),printf !lituse_jsr!11 ldah $29,0($26) !gpdisp!12 mov $11,$19 mov $14,$18 lda $29,0($29) !gpdisp!12 lda $16,48($30) lda $17,56($30) bsr $26,$DUPFFexgcd..ng ldq $14,32($30) ldq $26,0($30) ldq $9,8($30) ldq $11,16($30) bis $31,$31,$31 mov $31,$0 ldq $12,24($30) lda $30,64($30) ret $31,($26),1 .end main .ident "GCC: (GNU) 3.3.2"