aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm
diff options
context:
space:
mode:
Diffstat (limited to 'semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm')
-rw-r--r--semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm31
1 files changed, 31 insertions, 0 deletions
diff --git a/semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm b/semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm
new file mode 100644
index 0000000..4b18b69
--- /dev/null
+++ b/semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm
@@ -0,0 +1,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 \ No newline at end of file