Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
programmation:virtual-cpu-v1 [2021/05/16 02:27] – créée frater | back2root:programmation:virtual-cpu-v1 [2022/09/05 00:26] (Version actuelle) – [Instruction Opcode] frater | ||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
===== Structure d'une instruction ===== | ===== Structure d'une instruction ===== | ||
- | les deux premiers octets sont obligatoirement une instruction. | + | les deux premiers octets |
+ | l' | ||
+ | |||
+ | de gauche à droite: | ||
+ | |||
+ | * 4 bits d' | ||
+ | * 4 bits pour le 1er paramètre (si nécessaire) | ||
+ | * 4 bits pour le 2ème paramètre (si nécessaire) | ||
+ | * 4 bits pour la longueur (si nécéssaire) de l' | ||
< | < | ||
0x0000 | 0x0000 | ||
|||| | |||| | ||
- | |||+---> Longueur | + | |||+---> Longueur |
- | ||| 0 : none | + | ||| 0 : aucun, l' |
||| 1 : 1 byte | ||| 1 : 1 byte | ||
||| 2 : 2 bytes | ||| 2 : 2 bytes | ||
Ligne 50: | Ligne 58: | ||
ce qui veut dire que l'on peut avoir : | ce qui veut dire que l'on peut avoir : | ||
- | ^ Valeur | + | | || |
- | | 0 : D0 | 8 : [A0] | | + | ^ Valeur |
- | | 1 : D1 | 9 : [A1] | | + | | 0 | D0 | 8 | [A0] |
- | | 2 : D2 | A : [A2] | | + | | 1 | D1 | 9 | [A1] |
- | | 3 : D3 | B : [A3] | | + | | 2 | D2 | A | [A2] |
- | | 4 : A0 | | | + | | 3 | D3 | B | [A3] |
- | | 5 : A1 | | | + | | 4 | A0 |
- | | 6 : A2 | | | + | | 5 | A1 | ::: | ::: |
- | | 7 : A3 | | | + | | 6 | A2 | ::: | ::: |
+ | | 7 | A3 | ::: | ::: | ||
===== Instruction Opcode ===== | ===== Instruction Opcode ===== | ||
+ | |||
+ | "most significant bits", càd les 4bits de gauche | ||
< | < | ||
Ligne 86: | Ligne 97: | ||
0x0003 : CLEAR (Clear flag register) | 0x0003 : CLEAR (Clear flag register) | ||
</ | </ | ||
+ | |||
+ | <nspages back2root/ |