On peut retirer les premiers zéros, ça ne change pas le résultat. On a donc (00110101)2 = (110101)2.
1.
0100 1001 0000 0000 0000 1101 0100 1nnn llll llll hhhh hhhh LD R1, 1300
Note
- Pour LL :
- 0000 -> 0
- 0000 -> 0
- Pour HH :
- 0000 -> 0
- 1101 -> 13
2.
0100 1010 0000 0000 0001 1000 0100 1nnn llll llll hhhh hhhh LD R2, 1800
Note
- Pour LL :
- 0000 -> 0
- 0000 -> 0
- Pour HH :
- 0001 -> 1
- 1000 -> 8
3.
100 01 010 100 nm mmm ADD R1, R2
4.
0100 0001 0000 0001 0000 0000 0100 0nnn aaaa aaaa aaaa aaaa MV R1, 256#
Note pour arg : On retire les 0 devant le nombre
0000 0001 0000 0000 -> 1 0000 0000 -> 28 -> 256
Le programme complet est donc :
LD R1, 1300 LD R2, 1800 ADD R1, R2 MV R1, 256#
Puisque que l'on a 2^(4) = 16, pour passer de la base 2 à la base 16, on découpe le nombre par paquets de 4 et ensuite on convertit chaque partie de la base 2 vers la 10 puis de la 10 vers la 16 :
On a donc :