.verstamp 3 19 .option pic1 .rdata .align 2 .align 0 $$7: .ascii "%ld\X0A\X00" .globl i .lcomm i 4 S .globl j .lcomm j 8 S .text .align 2 .file 2 "sum.c" .globl main .loc 2 4 # 1 int i; # 2 double j; # 3 # 4 int main() { .ent main 2 main: .option O3 .set noreorder .cpload $25 .set reorder subu $sp, 32 sw $31, 28($sp) .cprestore 24 .mask 0x90000000, -4 .frame $sp, 32, $31 .loc 2 4 .loc 2 4 .loc 2 5 # 5 i=100000000; li $2, 100000000 .loc 2 6 # 6 j=0.0; li.d $f0, 0.0 .loc 2 8 # 7 # 8 while (i > 0) { li.d $f2, 1.0000000000000000e+00 $32: .loc 2 8 .loc 2 9 # 9 i = i - 1; addu $2, $2, -1 .loc 2 10 # 10 j = j + 1; add.d $f0, $f0, $f2 bgt $2, 0, $32 sw $2, i .loc 2 12 # 11 } # 12 printf("%ld\n",j); la $4, $$7 mfc1.d $6, $f0 s.d $f0, j .livereg 0x0B00000E,0x00000000 jal printf .loc 2 13 # 13 } move $2, $0 .livereg 0x2000FF0E,0x00000FFF lw $31, 28($sp) addu $sp, 32 j $31 .end main