diff options
Diffstat (limited to 'semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm')
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm b/semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm new file mode 100644 index 0000000..16cece8 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm @@ -0,0 +1,24 @@ +.data +.text + lui $3, 0xAABB + ori $3, $3, 0xCCDF + + # variable définissant le bit qu'on déplace + ori $4, $0, 3 + # on génère le mask pour sélectionner le bit +st: ori $8, $0, 1 # est le mask + ori $9, $0, 3 # est le décallage pour le mask + subu $9, $9, $4 # le nombre de décallage du bit pour le mask + sllv $8, $8, $9 # on génére le mask + # on applique le mask + and $10, $3, $8 # on sélectionne le bon bit + srlv $10, $10, $4 # on décalle le bit + # on ajoute le résultat + or $5, $5, $10 + # on boucle + ori $11, $0, 1 + subu $4, $4, $11 + bgez $4, st + + ori $2, $0, 10 + syscall
\ No newline at end of file |
