CODAGE INSTRUCTION LANGAGE ASSEMBLEUR ARC
binaire |
hexadécimal |
0000 |
0 |
0001 |
1 |
0010 |
2 |
0011 |
3 |
0100 |
4 |
0101 |
5 |
0110 |
6 |
0111 |
7 |
1000 |
8 |
1001 |
9 |
1010 |
A |
1011 |
B |
1100 |
C |
1101 |
D |
1110 |
E |
1111 |
F |
Instruction Assembleur ARC
A 0
B 0 C
0 D
0
1010
0000 1011 0000 1100 0000 1101
0000
10
10000 010110 00011 0
00000110 10000 orncc % r3, % r16, % r16
op
rd op3
rs1 i
rs2
DECODE 1 10 010110 00 =
(1624)10
op op3
4
0 3 0
2 0
1 0
0100 0000 0011 0000
0010 0000 0001 0000
01
0000011000000010000000010000
call 0x302010
op
disp30
DECODE 1 01 000000
00 = (1280)10
op op3
F
E 2
3 F
E 2
3
1111 1110
0010 0011 1111 1110 0010
0011
11 11111
000100 01111 1 1 1110 0010 0011 st % r31, % r7,0x1E23
op
rd op3
rs1 i
simm3
(7715)10
DECODE 1 11
000100
00 = (1808)10
op op3
C
4
0 1
6
0 A
0
1100 0100
0000 0001 0110 0000 1010
0000
11 00010
000000 00101 1 0000010100000
ld % r5, 0x50, % r2
op
rd op3
rs1 i
simm3
DECODE 1 11
000000
00 = (1792)10
op op3
F
E 0
0 2 7
0 0
1111 1110 0000
0000 0010 0111 0000
0000
11 11111 000000
00000 1 0011100000000
ld 0x700, % r31
op rd op3
rs1 i
simm3
DECODE 1 11
000000
00 = (1792)10
op op3
Instruction Fetch Cycle 5 étapes
- fetch : lecture de l'instruction pointée par un registre pointeur de code
- décode
- accès aux opérandes
- execution de l'instruction et stocker le résultat
- mettre à jour le registre "pointeur de code" et retourner à l'étape 1