Skip to content
Snippets Groups Projects
Commit 4ec7c293 authored by PEREZ-SIERRA ERIC's avatar PEREZ-SIERRA ERIC
Browse files

Fonction préliminaire pour creer le lab cree, pas encore fini

parent 1f299d61
Branches
Tags
No related merge requests found
.data
prompt: .asciiz "Donnez les dimensions du labyrinthe:\n"
.text
li $v0, 4
la $a0,prompt
syscall
li $v0,5
syscall
move $t0, $v0
mul $a0, $t0, $t0
li $v0, 9
syscall
# On vient d'allouer t0 x t0 bytes
move $s0, $v0
# $v0 contient l'adresse du tableau
# $t0 contient encore l'entier mis en argument
li $t6, 15 # Valeur initiale pour toutes les cases (4 murs)
lire_ligne_lab:
li $t3, 0 #int i = 0
lire_ligne_lab_externe:
bge $t3, $t1, lire_ligne_lab_boucle_ext_fin
li $t4, 0 #int j = 0
lire_ligne_lab_boucle_interne:
bge $t4, $t2, lire_ligne_lab_boucle_int_fin
##### ##### #####
##### ##### #####
mul $t5, $t3, $t0 # $t5 <-- N * i
add $t5, $t5, $t4 # $t5 <-- N * i + j
sll $t5, $t5, 2 # $t5 <-- 2^2 * (N * i + j)
add $t5, $s0, $t5 # $t5 <-- adresse de base + (2^2 * (N * i + j))
# Assigner les valeurs à chaque cellule
sw $t6,0($t5)
addi $t4, $t4,1 # j++
b lire_ligne_lab_boucle_interne
lire_ligne_lab_boucle_int_fin:
addi $t3, $t3, 1 # i++
b lire_ligne_lab_externe
lire_ligne_lab_boucle_ext_fin:
# salaverga ahorita vemos que pedo
li $t6, 47
##### ##### #####
sw $t6,0($t5)
##### ##### #####
j fin
fin:
li $v0,10
syscall
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment