aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm
blob: 4b18b690e3c5016ce3a543b5486cc612a9a7fb51 (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
25
26
27
28
29
30
31
.data
.text
	# Operations logiques
	ori $8, $0, 0x00FF #  $8 = 0x0000 00FF
	ori $9, $0, 0xFFF0 #  $9 = 0x0000 FFF0
	and $10, $9, $8    # $10 = 0x0000 00F0
	xor $11, $9, $8    # $11 = 0x0000 FF0F
	xor $11, $11, $11  # $11 = 0x0000 0000
	
	# Decalages
	ori $9, $0, 25 #  $9 = 0b0...0 0001 1001
	sll $10, $9, 1 # $10 = 0b0...0 0011 0010
	sll $11, $9, 2 # $11 = 0b0...0 0110 0100
	sll $12, $9, 3 # $12 = 0b0...0 1100 1000
	srl $10, $9, 1 # $10 = 0b0...0 0000 1100
	srl $10, $9, 2 # $10 = 0b0...0 0000 0110
	srl $10, $9, 3 # $10 = 0b0...0 0000 0011
	addi $9, $0, -25 #$9 = 0b1111 1...1 1101 0111
	srl $10, $9, 1 # $10 = 0b0111 1...1 1110 1011
	srl $11, $9, 2 # $11 = 0b0011 1...1 1111 1101
	sra $12, $9, 1 # $12 = 0b1111 1...1 1110 1011
	sra $13, $9, 2 # $13 = 0b1111 1...1 1111 1101
	sra $14, $9, 3 # $14 = 0b1111 1...1 1111 1110
	
	# Comparaisons
	ori $9, $0, 2   #  $9 = 0b10
	ori $8, $0, 4   #  $9 = 0b10
	slt $11, $8, $9 # $11 = 0
	slt $12, $9, $8 # $12 = 1
	ori $2, $0, 10
	syscall