### Compiled on: Fri Mar 04 21:29:10 PST 2005 main: addu $s7, $ra, $zero la $s1, M ### Start of compiled code # M[18] = M[0] l.d $f2, 0($s1) s.d $f2, 144($s1) # M[28] = M[0] l.d $f2, 0($s1) s.d $f2, 224($s1) # Read M[23] as double li $v0, 7 syscall s.d $f0, 184($s1) WhileStart0: # M[36] = M[18] - M[23] l.d $f2, 144($s1) l.d $f4, 184($s1) sub.d $f6, $f2, $f4 s.d $f6, 288($s1) l.d $f2, 288($s1) l.d $f4, 0($s1) c.eq.d $f2, $f4 bc1t WhileEnd0 # M[37] = M[8] * M[18] l.d $f2, 64($s1) l.d $f4, 144($s1) mul.d $f6, $f2, $f4 s.d $f6, 296($s1) # M[38] = M[37] + M[1] l.d $f2, 296($s1) l.d $f4, 8($s1) add.d $f6, $f2, $f4 s.d $f6, 304($s1) # M[39] = M[4] / M[38] l.d $f2, 32($s1) l.d $f4, 304($s1) div.d $f6, $f2, $f4 s.d $f6, 312($s1) # M[40] = M[8] * M[18] l.d $f2, 64($s1) l.d $f4, 144($s1) mul.d $f6, $f2, $f4 s.d $f6, 320($s1) # M[41] = M[40] + M[4] l.d $f2, 320($s1) l.d $f4, 32($s1) add.d $f6, $f2, $f4 s.d $f6, 328($s1) # M[42] = M[2] / M[41] l.d $f2, 16($s1) l.d $f4, 328($s1) div.d $f6, $f2, $f4 s.d $f6, 336($s1) # M[43] = M[39] - M[42] l.d $f2, 312($s1) l.d $f4, 336($s1) sub.d $f6, $f2, $f4 s.d $f6, 344($s1) # M[44] = M[8] * M[18] l.d $f2, 64($s1) l.d $f4, 144($s1) mul.d $f6, $f2, $f4 s.d $f6, 352($s1) # M[45] = M[44] + M[5] l.d $f2, 352($s1) l.d $f4, 40($s1) add.d $f6, $f2, $f4 s.d $f6, 360($s1) # M[46] = M[1] / M[45] l.d $f2, 8($s1) l.d $f4, 360($s1) div.d $f6, $f2, $f4 s.d $f6, 368($s1) # M[47] = M[43] - M[46] l.d $f2, 344($s1) l.d $f4, 368($s1) sub.d $f6, $f2, $f4 s.d $f6, 376($s1) # M[48] = M[8] * M[18] l.d $f2, 64($s1) l.d $f4, 144($s1) mul.d $f6, $f2, $f4 s.d $f6, 384($s1) # M[49] = M[48] + M[6] l.d $f2, 384($s1) l.d $f4, 48($s1) add.d $f6, $f2, $f4 s.d $f6, 392($s1) # M[50] = M[1] / M[49] l.d $f2, 8($s1) l.d $f4, 392($s1) div.d $f6, $f2, $f4 s.d $f6, 400($s1) # M[51] = M[47] - M[50] l.d $f2, 376($s1) l.d $f4, 400($s1) sub.d $f6, $f2, $f4 s.d $f6, 408($s1) # M[29] = M[51] l.d $f2, 408($s1) s.d $f2, 232($s1) # M[20] = M[0] l.d $f2, 0($s1) s.d $f2, 160($s1) WhileStart1: # M[52] = M[18] - M[20] l.d $f2, 144($s1) l.d $f4, 160($s1) sub.d $f6, $f2, $f4 s.d $f6, 416($s1) l.d $f2, 416($s1) l.d $f4, 0($s1) c.eq.d $f2, $f4 bc1t WhileEnd1 # M[53] = M[4] * M[4] l.d $f2, 32($s1) l.d $f4, 32($s1) mul.d $f6, $f2, $f4 s.d $f6, 424($s1) # M[54] = M[29] / M[53] l.d $f2, 232($s1) l.d $f4, 424($s1) div.d $f6, $f2, $f4 s.d $f6, 432($s1) # M[29] = M[54] l.d $f2, 432($s1) s.d $f2, 232($s1) # M[55] = M[20] + M[1] l.d $f2, 160($s1) l.d $f4, 8($s1) add.d $f6, $f2, $f4 s.d $f6, 440($s1) # M[20] = M[55] l.d $f2, 440($s1) s.d $f2, 160($s1) j WhileStart1 WhileEnd1: # M[56] = M[28] + M[29] l.d $f2, 224($s1) l.d $f4, 232($s1) add.d $f6, $f2, $f4 s.d $f6, 448($s1) # M[28] = M[56] l.d $f2, 448($s1) s.d $f2, 224($s1) # M[57] = M[18] + M[1] l.d $f2, 144($s1) l.d $f4, 8($s1) add.d $f6, $f2, $f4 s.d $f6, 456($s1) # M[18] = M[57] l.d $f2, 456($s1) s.d $f2, 144($s1) # Print M[29] li $v0, 3 l.d $f12, 232($s1) syscall # Print Tab as ASCII char li $v0, 4 la $a0, Tab syscall # Print M[28] li $v0, 3 l.d $f12, 224($s1) syscall # Print NewL as ASCII char li $v0, 4 la $a0, NewL syscall j WhileStart0 WhileEnd0: # Print M[28] li $v0, 3 l.d $f12, 224($s1) syscall # Print NewL as ASCII char li $v0, 4 la $a0, NewL syscall ### End of complied code addu $ra, $s7, $zero jr $ra .data .align 3 M: .double 0.,1.,2.,3.,4.,5.,6.,7.,8.,9. # constants .space 208 # doubles a to z .space 1000 # 250 temporaries Blank: .asciiz " " NewL: .asciiz "\n" Tab: .asciiz "\t" Colon: .asciiz ":" SemiC: .asciiz ";" Star: .asciiz "*"