Skip to content
Snippets Groups Projects
Commit 9a3cf857 authored by AMIRAT LYDIA's avatar AMIRAT LYDIA
Browse files

commit

parent cd4ba015
No related merge requests found
......@@ -17,7 +17,7 @@ main:
cell_lecture_bit:
#cell_lecture_bit est une fonction qui prend en argument un nombre stocké dans $a0 et un indice
#stocké dans $a1 et qui renvoie le ième bit de ce nombre
sw $ra,12($sp)
move $t0, $a0
#création d'une variable temporaire dans $t0, afin de ne pas perdre la valeur du nombre contenue
#dans $a0 après le décalage et la division
......@@ -38,7 +38,7 @@ changer_bit:
#mis à 0 ou mis à 1, grace à un appel à la fonction cell_lecture_bit, on lit la valeur du ième bit,
#s'il est égal à 1, on saute à la fonction cell_mettre_bit_a0, sinon on saute à cell_mettre_bit_a1
sw $ra 0($sp) #stocker l'addresse de retour de la fonction "main" dans la premiere case de la pile
sw $ra 8($sp) #stocker l'addresse de retour de la fonction "main" dans la premiere case de la pile
jal cell_lecture_bit #saute a la fonction cell_lecture_bit
move $a2, $v0 #copie la valeur de retour de Cell_lecture_bit dans le registre $a2
beq $a2, $zero, cell_mettre_bit_a1 #saut vers cell_mettre_bit_a1 si le ième bit==0
......@@ -89,7 +89,8 @@ st_creer:
#Son adresse de retour sera l'adresse du début du tableau, stockée dans $v0
addi $sp, $sp, -16
#allocation de 4r egistres dans la pile
sw $ra,8($sp)
#allocation de 4 registres dans la pile
sw $a0, 4($sp)
#stocker N*N dans la pile
li $t1,4
......@@ -109,6 +110,7 @@ st_creer:
st_est_vide:
sw $ra,8($sp)
lw $t1, 0($a0)
beq $t1, $zero, vide
li $v0,0
......@@ -119,7 +121,7 @@ st_est_vide:
j retour_main
st_est_plein:
sw $ra,8($sp)
li $t0, 4
lw $t1, 0($sp)
add $a0,$a0,$t1
......@@ -135,12 +137,12 @@ st_est_plein:
retour_main:
lw $ra 8($sp)
addi $sp, $sp,8
jr $ra
retour_fonc:
lw $ra 12($sp)
addi $sp, $sp,8
jr $ra
......
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