Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data 0x10010000
- met : .word 3,4,2,3
- .word 5,2,2,3
- .word 3,4,2,3
- .word 3,0,4,5
- sinput: .word 2,0,2,2
- soutput: .word 0,0,0,0
- .text 0x400000
- .globl main
- main:
- li $s0, 4 #Constante N = 4
- li $a0, 0
- la $a0, met
- li $a1, 0
- la $a1, sinput
- li $a2, 0
- la $a2, soutput
- jal asc
- li $v0, 10
- syscall
- asc:
- li $t0, 0 #i
- li $t1, 0 #index i
- li $t2, 0 #j
- li $t3, 0 #index j
- li $t4, 0 #temp
- li $t5, 0 #valeur met
- li $t6, 0 #Valeur de sinput
- li $t7, 0 #valeur de soutput
- li $t8, 0 #registre foure-tout
- acs_bouclei:
- addi $t8, $0, 250
- add $a2, $a2, $t1
- sw $t8, 0($a2) #Enregistre 250 dans soutput[i]
- sub $a2, $a2, $t1
- add $t2, $0, $0 #reset counter
- add $t3, $0, $0
- acs_bouclej:
- sll $t8, $t1, 2
- add $t8, $t8, $t3 #calcul index met ( i * N + j )
- add $a0, $a0, $t8
- lw $t5, 0($a0) # Enregistrer la valeur de met dans registre
- sub $a0, $a0, $t8
- add $a1, $a1, $t3
- lw $t6, 0($a1)
- sub $a1, $a1, $t3
- add $a2, $a2, $t1
- lw $t7, 0($a2) #Enregistre valeurs de tableaux
- add $t4, $t6, $t5 #temp = met[i * n + j] + sinput[j]
- blt $t4, $t7, output_lower #Si temp < soutput[i], enregistre temp sinon soutput[i]
- output_higher:
- sw $t7, 0($a2)
- j end_if
- output_lower:
- sw $t4, 0($a2)
- j end_if
- end_if:
- sub $a2, $a2, $t1
- addi $t2, $t2, 1
- addi $t3, $t3, 4
- blt $t2, $s0, acs_bouclej #pour toutes les valeurs de j < 4
- addi $t0, $t0, 1
- addi $t1, $t1, 4
- blt $t0, $s0, acs_bouclei #pour toutes les valeurs de i < 4
- jr $ra #Exit function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement