.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl xlrandom .ent xlrandom xlrandom: .frame $30,0,$26,0 .mask 0x4000e00,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $xlrandom..ng: lda $30,-32($30) stq $10,16($30) lda $10,64($31) stq $11,24($30) lda $11,1($31) stq $26,0($30) stq $9,8($30) .prologue 1 .align 4 $L2: ldq $27,random($29) !literal!2 jsr $26,($27),random !lituse_jsr!2 ldah $29,0($26) !gpdisp!3 srl $0,18,$2 and $0,15,$0 lda $0,1($0) sll $11,$0,$1 lda $29,0($29) !gpdisp!3 lda $1,-1($1) subl $10,$0,$10 zapnot $1,15,$1 cpys $f31,$f31,$f31 sll $9,$0,$9 blbc $2,$L5 bis $9,$1,$9 $L5: bge $10,$L2 mov $9,$0 ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) ldq $11,24($30) lda $30,32($30) ret $31,($26),1 .end xlrandom .section .rodata.str1.1,"aMS",@progbits,1 $LC0: .ascii "Testing udivmoddi4: %d iterations made\12\0" $LC1: .ascii "Testing udivmoddi4: failure after %d iterations\12\0" $LC2: .ascii "n=%lX%08lX\12\0" $LC3: .ascii "d=%lX%08lX\12\0" $LC4: .ascii "q=%lX%08lX\12\0" $LC5: .ascii "r=%lX%08lX\12\0" $LC6: .ascii "rr=%lX%08lX\12\0" .text .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4003e00,0 ldah $29,0($27) !gpdisp!4 lda $29,0($29) !gpdisp!4 $main..ng: lda $30,-64($30) stq $11,24($30) mov $31,$11 stq $26,0($30) stq $9,8($30) stq $10,16($30) stq $12,32($30) stq $13,40($30) .prologue 1 .align 4 $L8: bis $31,$31,$31 bsr $26,$xlrandom..ng mov $0,$10 bsr $26,$xlrandom..ng mov $10,$16 cpys $f31,$f31,$f31 mov $0,$9 bne $0,$L15 $L10: addl $11,1,$11 br $31,$L8 .align 4 $L15: mov $0,$17 ldq $27,__udivmoddi4($29) !literal!20 lda $18,48($30) jsr $26,($27),__udivmoddi4 !lituse_jsr!20 ldah $29,0($26) !gpdisp!21 s4addq $11,$11,$2 s4addq $2,$2,$2 s8subq $2,$2,$2 s4addq $2,$11,$2 s4addq $2,$11,$2 s8subq $2,$11,$2 s8subq $2,$2,$2 s8addq $2,$11,$2 s4subq $2,$11,$2 s8subq $2,$11,$2 s8subq $2,$2,$2 s4subq $2,$11,$2 sra $2,50,$2 sra $11,31,$1 lda $29,0($29) !gpdisp!21 subq $2,$1,$2 s4addq $2,$2,$2 s4addq $2,$2,$2 s4addq $2,$2,$2 s4addq $2,$2,$2 s4addq $2,$2,$2 s4addq $2,$2,$2 sll $2,6,$2 ldah $16,$LC0($29) !gprelhigh subl $11,$2,$2 mov $0,$13 lda $16,$LC0($16) !gprellow mov $11,$17 beq $2,$L16 $L12: mulq $13,$9,$2 ldq $1,48($30) subq $10,$2,$12 cmpeq $12,$1,$1 cmpult $12,$9,$2 beq $1,$L14 bne $2,$L10 br $31,$L14 $L16: ldq $27,printf($29) !literal!18 jsr $26,($27),printf !lituse_jsr!18 ldah $29,0($26) !gpdisp!19 cpys $f31,$f31,$f31 lda $29,0($29) !gpdisp!19 br $31,$L12 $L14: ldah $16,$LC1($29) !gprelhigh ldq $27,printf($29) !literal!16 lda $16,$LC1($16) !gprellow mov $11,$17 jsr $26,($27),printf !lituse_jsr!16 ldah $29,0($26) !gpdisp!17 lda $29,0($29) !gpdisp!17 ldah $16,$LC2($29) !gprelhigh sra $10,32,$17 ldq $27,printf($29) !literal!14 lda $16,$LC2($16) !gprellow addl $31,$10,$18 jsr $26,($27),printf !lituse_jsr!14 ldah $29,0($26) !gpdisp!15 lda $29,0($29) !gpdisp!15 ldah $16,$LC3($29) !gprelhigh sra $9,32,$17 ldq $27,printf($29) !literal!12 lda $16,$LC3($16) !gprellow addl $31,$9,$18 jsr $26,($27),printf !lituse_jsr!12 ldah $29,0($26) !gpdisp!13 lda $29,0($29) !gpdisp!13 ldah $16,$LC4($29) !gprelhigh sra $13,32,$17 ldq $27,printf($29) !literal!10 lda $16,$LC4($16) !gprellow addl $31,$13,$18 jsr $26,($27),printf !lituse_jsr!10 ldah $29,0($26) !gpdisp!11 lda $29,0($29) !gpdisp!11 ldl $17,52($30) ldl $18,48($30) ldah $16,$LC5($29) !gprelhigh ldq $27,printf($29) !literal!8 lda $16,$LC5($16) !gprellow jsr $26,($27),printf !lituse_jsr!8 ldah $29,0($26) !gpdisp!9 lda $29,0($29) !gpdisp!9 ldah $16,$LC6($29) !gprelhigh sra $12,32,$17 ldq $27,printf($29) !literal!6 lda $16,$LC6($16) !gprellow addl $31,$12,$18 jsr $26,($27),printf !lituse_jsr!6 ldah $29,0($26) !gpdisp!7 lda $29,0($29) !gpdisp!7 ldq $27,abort($29) !literal!5 jsr $26,($27),abort !lituse_jsr!5 .end main .ident "GCC: (GNU) 3.3.2"