ALU и BSU
Таблица операций
| ID |
BIN |
Имя |
Устройство |
Описание |
00h |
0000 |
ADD |
ALU |
Сложение |
01h |
0001 |
SUB |
ALU |
Вычитание |
02h |
0010 |
MUL |
ALU |
Умножение |
03h |
0011 |
DIV / REM |
ALU |
Деление и остаток |
04h |
0100 |
AND |
ALU |
Логическое И |
05h |
0101 |
OR |
ALU |
Логическое ИЛИ |
06h |
0110 |
XOR |
ALU |
Исключающее ИЛИ |
07h |
0111 |
NOT |
ALU |
Побитовое НЕ |
08h |
1000 |
LSL |
BSU |
Логический сдвиг влево |
09h |
1001 |
LSR |
BSU |
Логический сдвиг вправо |
0Ah |
1010 |
ASR |
BSU |
Арифметический сдвиг вправо |
0Bh |
1011 |
ROL |
BSU |
Циклический сдвиг влево |
0Ch |
1100 |
ROR |
BSU |
Циклический сдвиг вправо |
Соответствие опкодов и операций ALU_PLA
Таблица ALU_PLA.txt отображает опкоды инструкций в коды операций ALU/BSU:
| Опкод |
Инструкция |
Код ALU |
Операция |
03h |
ADD |
0000 |
ADD |
04h |
ADC |
0000 |
ADD |
05h |
SUB |
0001 |
SUB |
06h |
SBB |
0001 |
SUB |
07h |
MUL |
0010 |
MUL |
08h |
IMUL |
0010 |
MUL |
09h |
DIV |
0011 |
DIV |
0Ah |
IDIV |
0011 |
DIV |
29h |
REM |
0011 |
DIV |
2Ah |
IREM |
0011 |
DIV |
19h |
AND |
0100 |
AND |
1Ah |
OR |
0101 |
OR |
1Bh |
XOR |
0110 |
XOR |
0Bh |
NOT |
0111 |
NOT |
0Ch |
INC |
0000 |
ADD |
0Dh |
DEC |
0001 |
SUB |
1Ch |
CMP |
0001 |
SUB |
1Dh |
ICMP |
0001 |
SUB |
14h |
LSL |
1000 |
LSL |
15h |
LSR |
1001 |
LSR |
16h |
ASR |
1010 |
ASR |
17h |
ROL |
1011 |
ROL |
18h |
ROR |
1100 |
ROR |