Форматы инструкций
Сводная таблица
| ID |
Имя |
Длина |
Синтаксис |
00h |
S0 |
1B |
<OP> |
01h |
S1 |
2B |
<OP> <rD> |
02h |
S2 |
2B |
<OP> <rS> |
03h |
S3 |
2B |
<OP> <rS/D> |
04h |
S4 |
2B |
<OP> <imm8> |
05h |
S5 |
3B |
<OP> <imm16> |
06h |
S6 |
5B |
<OP> <imm32> |
07h |
A0 |
4B |
<OP> <SF> <rS/D> <rS> |
08h |
A1 |
4B |
<OP> <SF> <rS/D> <imm8> |
09h |
A2 |
5B |
<OP> <SF> <rS/D> <imm16> |
0Ah |
A3 |
7B |
<OP> <SF> <rS/D> <imm32> |
0Bh |
J0 |
6B |
<OP> <COND> <imm32> |
0Ch |
J1 |
3B |
<OP> <COND> <rS> |
0Dh |
I0 |
6B |
<OP> <imm8> <imm32> |
0Eh |
H0 |
3B |
<OP> <rS/D> <disp8> |
0Fh |
D0 |
4B |
<OP> <SF> <rD> <rS> |
10h |
D1B |
4B |
<OP> <SF> <rD> <imm8> |
11h |
D1W |
5B |
<OP> <SF> <rD> <imm16> |
12h |
D1DW |
7B |
<OP> <SF> <rD> <imm32> |
13h |
D2F |
7B |
<OP> <SF> <rS> <Addr32> |
14h |
D2S |
5B |
<OP> <SF> <rS> <rB>:<rA> |
15h |
D2R |
4B |
<OP> <SF> <rS> <rA> |
16h |
D2SD |
6B |
<OP> <SF> <rS> <rB>:<rA> <disp8> |
17h |
D2RD |
5B |
<OP> <SF> <rS> <rA> <disp8> |
18h |
D3F |
7B |
<OP> <SF> <rD> <Addr32> |
19h |
D3S |
5B |
<OP> <SF> <rD> <rB>:<rA> |
1Ah |
D3R |
4B |
<OP> <SF> <rD> <rA> |
1Bh |
D3SD |
6B |
<OP> <SF> <rD> <rB>:<rA> <disp8> |
1Ch |
D3RD |
5B |
<OP> <SF> <rD> <rA> <disp8> |
Пояснения к обозначениям
<OP> - код операции (opcode).
<SF> - суффикс / режим (byte, word, dword, register).
<rD> - регистр-приёмник (destination).
<rS> - регистр-источник (source).
<rS/D> - регистр, который может быть и источником, и приёмником.
<rA>, <rB> - регистры базы и индекса.
<imm8>, <imm16>, <imm32> - непосредственные значения.
<Addr32> - абсолютный 32-битный адрес.
<disp8> - 8-битное смещение.
<COND> - код условия перехода.
Длина инструкции
Длина закодирована в PLA-таблице LENGHT_PLA. Выходное значение - это длина − 1:
| Выход |
Длина |
0000 |
1 байт |
0001 |
2 байта |
0010 |
3 байта |
0011 |
4 байта |
0100 |
5 байт |
0101 |
6 байт |
0110 |
7 байт |
Полная таблица LENGHT_PLA:
| Вход |
Выход |
Формат |
Длина |
00000 |
0000 |
S0 |
1B |
00001 |
0001 |
S1 |
2B |
00010 |
0001 |
S2 |
2B |
00011 |
0001 |
S3 |
2B |
00100 |
0001 |
S4 |
2B |
00101 |
0010 |
S5 |
3B |
00110 |
0100 |
S6 |
5B |
00111 |
0011 |
A0 |
4B |
01000 |
0011 |
A1 |
4B |
01001 |
0100 |
A2 |
5B |
01010 |
0110 |
A3 |
7B |
01011 |
0101 |
J0 |
6B |
01100 |
0010 |
J1 |
3B |
01101 |
0101 |
I0 |
6B |
01110 |
0010 |
H0 |
3B |
01111 |
0011 |
D0 |
4B |
10000 |
0011 |
D1B |
4B |
10001 |
0100 |
D1W |
5B |
10010 |
0110 |
D1DW |
7B |
10011 |
0110 |
D2F |
7B |
10100 |
0100 |
D2S |
5B |
10101 |
0011 |
D2R |
4B |
10110 |
0101 |
D2SD |
6B |
10111 |
0100 |
D2RD |
5B |
11000 |
0110 |
D3F |
7B |
11001 |
0100 |
D3S |
5B |
11010 |
0011 |
D3R |
4B |
11011 |
0101 |
D3SD |
6B |
11100 |
0100 |
D3RD |
5B |