diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-05 16:28:33 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-05 16:28:33 +0200 |
| commit | 85fbaa4d9381e435be129aa7bc4ea6a472acb2b2 (patch) | |
| tree | a5d0149a7e70ec1ec24edd2fc0a6c2971e94130a /semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm | |
| parent | 4c4b68ac62514cad87e023b877571d1952588d4e (diff) | |
Cours du 29 au 3 octobre
Diffstat (limited to 'semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm')
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme3/exercice4.asm | 31 |
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 |
