Перейти к содержанию

Форматы инструкций

Сводная таблица

ID Имя Длина Синтаксис
00h S0 2B <OP> <->
01h S1 3B <OP> <-> <rD>
02h S2 3B <OP> <-> <rS>
03h S3 3B <OP> <-> <rS/D>
04h S4 3B <OP> <-> <Imm8>
05h S5 4B <OP> <-> <Imm16>
06h S6 5B <OP> <-> <Imm24>
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 6B <OP> <SF> <rS/D> <Imm24>
0Bh J0 6B <OP> <-> <COND> <Imm24>
0Ch D0 4B <OP> <SF> <rD> <rS>
0Dh D1B 4B <OP> <SF> <rD> <Imm8>
0Eh D1W 5B <OP> <SF> <rD> <Imm16>
0Fh D1A 6B <OP> <SF> <rD> <Imm24>
10h D2F 6B <OP> <SF> <rS> <Addr24>
11h D2S 5B <OP> <SF> <rS> <rB>:<rA>
12h D2SI 7B <OP> <SF> <rS> <rB>:<Addr24>
13h D2R 4B <OP> <SF> <rS> <rA>
14h D3F 6B <OP> <SF> <rD> <Addr24>
15h D3S 5B <OP> <SF> <rD> <rB>:<rA>
16h D3SI 7B <OP> <SF> <rD> <rB>:<Addr24>
17h D3R 4B <OP> <SF> <rD> <rA>
18h I0 6B <OP> <-> <imm8> <imm24>

Пояснения к обозначениям

  • <OP> - код операции (opcode).
  • <SF> - суффикс / режим (byte, word, addr, …).
  • <rD> - регистр-приёмник (destination).
  • <rS> - регистр-источник (source).
  • <rS/D> - регистр, который может быть и источником, и приёмником.
  • <rA>, <rB> - регистры базового и индексного смещения.
  • <Imm8>, <Imm16>, <Imm24> - непосредственные значения соответствующей разрядности.
  • <Addr24> - 24-битный абсолютный адрес.
  • <COND> - код условия перехода.

Длина инструкции

Длина инструкции кодируется в PLA-таблице LENGHT_PLA. Выходное значение - это длина − 2:

Выход Длина
000 2 байта
001 3 байта
010 4 байта
011 5 байт
100 6 байт
101 7 байт

Например, формат S0 даёт на выходе 000 → 2 байта, а D2SI - 101 → 7 байт.