.data A: .float 10.0, 1.0, 2.0 .float 1.0, 20.0, 3.0 .float 2.0, 3.0, 30.0 uno: .float 1.0 paropen: .asciz "[" parclose: .asciz "]=\n" newline: .asciz "\n" spc: .asciz " " namer: .asciz "R" namex: .asciz "X" .text .globl main main: # col valore di ritorno della f. cholesky la a0 , namex la a1, A addi a2, x0, 9 jal printmat la a0 , A addi a1, x0, 3 jal cholesky la a0 , namer add a1, x0, a3 addi a2, x0, 9 jal printmat addi a7,x0,10 ecall printmat: # stampa 'name' che e' in a0 addi a7,x0,4 ecall la a0 , paropen addi a7,x0,4 ecall# stampa parentesi aperta add a0 , x0, a2 addi a7,x0,1 ecall# stampa m la a0 , parclose addi a7,x0,4 ecall# stampa parentesi chiusa add t0, x0, x0# i=0 pmfor: slt t1, t0, a2# i>1 addi t1, x0, 1 slli t1,t1, 29 add t0, t0, t1 addi t1, x0, 1 slli t1,t1, 22 sub t0, t0, t1 fmv.s.x fa4, t0 ret cholesky: #____________________Totale 8B addi sp, sp, -24 sw ra, 0(sp) sw s0, 4(sp) sw s1, 8(sp) sw s2, 12(sp) sw s3, 16(sp) sw s4, 20(sp) add s0, x0, a0# n*n mul a0 , a1, a1 slli a0 ,a0 , 2# sbrk, a0=&L addi a7,x0,9 ecall add a3, a0,x0 add s1, x0, x0# j=0 for1: slt a6, s1, a1# j