aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/architecture des ordinateurs/tme/tme3/exercice5.asm
blob: 16cece8ab901eee4f7d0144c614d9875ac651dc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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