Чт дек 24, 2020 19:17:22
0000 A9 |REG A9 ; (Такт #1) Выборка регистра блока A с индексом #9
0001 AB |ARG A,B ; (Такт #2) Сборка группы операндов регистровых групп A и B
0002 0F|MOV A9,B0 ; (Такт #3) Фиксирование в левом операнде данных правого
| | ^^
\ / ||
V |/
| |
+----------+
0000 A9 AB 0F|MOV A9,B0 ; (Такт #1) Операция выполняется за 1 такт
B - B1
C - C1
D - B2
E - C2
H - B3
L - C3
SP- B4C4
A - A1
PC- B5C5
PSW-A1A0
M - B3C3
I8080 CODE|KOYAANISQATSI CODE
----------|----------
02|STAX B |A1 10 AF|MOV B1C1,A1 ; 5 тактов
0A|LDAX B |A1 10 AE|MOV A1,B1C1 ; 5 тактов
12|STAX D |A1 20 AF|MOV B2C2,A1 ; 5 тактов
1A|LDAX D |A1 20 AE|MOV A1,B2C2 ; 5 тактов
--+-------+--------+----------
40|MOV B,B|B1 BB 1F|MOV B1,B1 ; 3 такта
41|MOV B,C|B1 BC 1F|MOV B1,C1 ; 3 такта
42|MOV B,D|B1 BB 2F|MOV B1,B2 ; 3 такта
43|MOV B,E|B1 BC 2F|MOV B1,C2 ; 3 такта
44|MOV B,H|B1 BB 3F|MOV B1,B3 ; 3 такта
45|MOV B,L|B1 BC 3F|MOV B1,C3 ; 3 такта
46|MOV B,M|B1 30 BE|MOV B1,B3C3 ; 5 тактов
47|MOV B,A|B1 BA 1F|MOV B1,A1 ; 3 такта
--+-------+--------+----------
48|MOV C,B|C1 CB 1F|MOV C1,B1
49|MOV C,C|C1 CC 1F|MOV C1,C1
4A|MOV C,D|C1 CB 2F|MOV C1,B2
4B|MOV C,E|C1 CC 2F|MOV C1,C2
4C|MOV C,H|C1 CB 3F|MOV C1,B3
4D|MOV C,L|C1 CC 3F|MOV C1,C3
4E|MOV C,M|C1 30 CE|MOV C1,B3C3
4F|MOV C,A|C1 CA 1F|MOV C1,A1
--+-------+--------+----------
50|MOV D,B|B2 BB 1F|MOV B2,B1
51|MOV D,C|B2 BC 1F|MOV B2,C1
52|MOV D,D|B2 BB 2F|MOV B2,B2
53|MOV D,E|B2 BC 2F|MOV B2,C2
54|MOV D,H|B2 BB 3F|MOV B2,B3
55|MOV D,L|B2 BC 3F|MOV B2,C3
56|MOV D,M|B2 30 BE|MOV B2,B3C3
57|MOV D,A|B2 BA 1F|MOV B2,A1
--+-------+--------+----------
58|MOV E,B|C2 CB 1F|MOV C2,B1
59|MOV E,C|C2 CC 1F|MOV C2,C1
5A|MOV E,D|C2 CB 2F|MOV C2,B2
5B|MOV E,E|C2 CC 2F|MOV C2,C2
5C|MOV E,H|C2 CB 3F|MOV C2,B3
5D|MOV E,L|C2 CC 3F|MOV C2,C3
5E|MOV E,M|C2 30 CE|MOV C2,B3C3
5F|MOV E,A|C2 CA 1F|MOV C2,A1
--+-------+--------+----------
60|MOV L,B|B3 BB 1F|MOV B3,B1
61|MOV L,C|B3 BC 1F|MOV B3,C1
62|MOV L,D|B3 BB 2F|MOV B3,B2
63|MOV L,E|B3 BC 2F|MOV B3,C2
64|MOV L,H|B3 BB 3F|MOV B3,B3
65|MOV L,L|B3 BC 3F|MOV B3,C3
66|MOV L,M|B3 30 BE|MOV B3,B3C3
67|MOV L,A|B3 BA 1F|MOV B3,A1
--+-------+--------+----------
68|MOV L,B|C3 CB 1F|MOV C3,B1
69|MOV L,C|C3 CC 1F|MOV C3,C1
6A|MOV L,D|C3 CB 2F|MOV C3,B2
6B|MOV L,E|C3 CC 2F|MOV C3,C2
6C|MOV L,H|C3 CB 3F|MOV C3,B3
6D|MOV L,L|C3 CC 3F|MOV C3,C3
6E|MOV L,M|C3 30 CE|MOV C3,B3C3
6F|MOV L,A|C3 CA 1F|MOV C3,A1
--+-------+--------+----------
70|MOV M,B|B1 30 BF|MOV B3C3,B1
71|MOV M,C|C1 30 CF|MOV B3C3,C1
72|MOV M,D|B2 30 BF|MOV B3C3,B2
73|MOV M,E|C2 30 CF|MOV B3C3,C2
74|MOV M,H|B3 30 BF|MOV B3C3,B3
75|MOV M,L|C3 30 CF|MOV B3C3,C3
76|HLT |00 |HLT
77|MOV M,A|A1 30 AF|MOV B3C3,A1
--+-------+--------+----------
78|MOV A,B|A1 AB 1F|MOV A1,B1
79|MOV A,C|A1 AC 1F|MOV A1,C1
7A|MOV A,D|A1 AB 2F|MOV A1,B2
7B|MOV A,E|A1 AC 2F|MOV A1,C2
7C|MOV A,H|A1 AB 3F|MOV A1,B3
7D|MOV A,L|A1 AC 3F|MOV A1,C3
7E|MOV A,M|A1 A0 CE|MOV A1,B3C3
7F|MOV A,A|A1 AA 1F|MOV A1,A1
--+-------+--------+----------
88|ADC B |A1 AB 1A|ADD A1,B1 ; 3 такта
89|ADC C |A1 AC 1A|ADD A1,C1 ; 3 такта
8A|ADC D |A1 AB 2A|ADD A1,B2 ; 3 такта
8B|ADC E |A1 AC 2A|ADD A1,C2 ; 3 такта
8C|ADC H |A1 AB 3A|ADD A1,B3 ; 3 такта
8D|ADC L |A1 AC 3A|ADD A1,C3 ; 3 такта
8E|ADC M |A1AA301A|ADD A1,B3C3 ; 6 тактов
8F|ADC A |A1 AA 1A|ADD A1,A1 ; 3 такта
--+-------+--------+----------
98|SBB B |A1 AB 1B|SUB A1,B1
99|SBB C |A1 AC 1B|SUB A1,C1
9A|SBB D |A1 AB 2B|SUB A1,B2
9B|SBB E |A1 AC 2B|SUB A1,C2
9C|SBB H |A1 AB 3B|SUB A1,B3
9D|SBB L |A1 AC 3B|SUB A1,C3
9E|SBB M |A1AA301B|SUB A1,B3C3
9F|SBB A |A1 AA 1B|SUB A1,A1
--+-------+--------+----------
A0|ANA B |A1 AB 1C|AND A1,B1
A1|ANA C |A1 AC 1C|AND A1,C1
A2|ANA D |A1 AB 2C|AND A1,B2
A3|ANA E |A1 AC 2C|AND A1,C2
A4|ANA H |A1 AB 3C|AND A1,B3
A5|ANA L |A1 AC 3C|AND A1,C3
A6|ANA M |A1AA301C|AND A1,B3C3
A7|ANA A |A1 AA 1C|AND A1,A1
--+-------+--------+----------
A8|XRA B |A1 AB 1E|EOR A1,B1
A9|XRA C |A1 AC 1E|EOR A1,C1
AA|XRA D |A1 AB 2E|EOR A1,B2
AB|XRA E |A1 AC 2E|EOR A1,C2
AC|XRA H |A1 AB 3E|EOR A1,B3
AD|XRA L |A1 AC 3E|EOR A1,C3
AE|XRA M |A1AA301E|EOR A1,B3C3
AF|XRA A |A1 AA 1E|EOR A1,A1
--+-------+--------+----------
B0|ORA B |A1 AB 1D|OR A1,B1
B1|ORA C |A1 AC 1D|OR A1,C1
B2|ORA D |A1 AB 2D|OR A1,B2
B3|ORA E |A1 AC 2D|OR A1,C2
B4|ORA H |A1 AB 3D|OR A1,B3
B5|ORA L |A1 AC 3D|OR A1,C3
B6|ORA M |A1AA301D|OR A1,B3C3
B7|ORA A |A1 AA 1D|OR A1,A1
--+-------+--------+----------
CE|ACI IB |A1AA501A|ADD A1,B5C5
DE|SBI IB |A1AA501B|SUB A1,B5C5
E6|ANI IB |A1AA501C|AND A1,B5C5
EE|XRI IB |A1AA501E|EOR A1,B5C5
F6|ORI IB |A1AA501D|OR A1,B5C5
Вт июн 08, 2021 22:00:01
╔════╤════════╤════════════════════════════════════════════════════════════════╗
║ D9 │ ИМС │ Описание доступа к ресурсам микросхемы через РОН процессора ║
╠════╪════════╪════════════════════════════════════════════════════════════════╣
║0x53│ i8253 │ D0/D1/D2 - Каналы Счётчиков 0/1/2 ║
║ │К580ВИ53│ D3 - Регистр Статуса Таймера ║
╟────┼────────┼────────────────────────────────────────────────────────────────╢
║0x55│ i8255 │ D0/D1/D2 - Порты A/B/C ППА ║
║ │К580ВИ55│ D3 - Регистр Статуса ППА ║
╟────┼────────┼────────────────────────────────────────────────────────────────╢
║0x57│ i8257 │ D0/D2/D4/D6 - Каналы 0/1/2/3: ПДП Адрес ║
║ │ │ D1/D3/D5/D7 - Каналы 0/1/2/3: ПДП Счёт ║
║ │К580ВТ57│ D8 - Регистр Статуса ПДП ║
╟────┼────────┼────────────────────────────────────────────────────────────────╢
║0x79│ i8279 │ D0 - Регистр Данных ║
║ │К580ВВ79│ D1 - Регистр Статуса ║
╚════╧════════╧════════════════════════════════════════════════════════════════╝
Пт июн 30, 2023 16:00:26
module vector_accumulator
(input wire clk // Clock (positive edge)
,input wire vector_en // Enable parse vector (BDC detected)
,input wire vector_clr // Clear vector (after any instruction)
,input wire [7:0] operation // Operation code (BDC only)
,input wire [15:0] vector_input // Pointer input (pair B:C from register file)
,output reg [15:0] vector_output // Full vector output (summ of Base + Index + Offset)
,output reg vector_margin // Marginal flag (incorrect Index of "dry" Vector)
);
reg [3:0] pointer_index; // Index of "base" in operation code
reg [3:0] offset_digit; // Digit of BDC-digit for "offset"
reg is_base; // Flag of "base" (Index is equal of Base)
reg is_shift; // Flag of "shifting" (Index is repeated in current summ)
reg [3:0] base_index; // Index of current "base" (Index of Base)
reg [9:0] pointers_set; // Collection of used pointers (flags of used Indexes in current summ)
reg [9:0] pointer_mask; // Mask of current pointer
reg [15:0] vector_base; // Pointer of "base"
reg [15:0] vector_index; // Summ of used pointers
reg [15:0] vector_offset; // Decimal offset
reg [15:0] offset_shift; // Offset multipled by 10
always @*
begin
pointer_index = operation[7:4];
pointer_mask = 10'b1 << pointer_index;
is_base = &(base_index ^ pointer_index);
is_shift = |(pointers_set & pointer_mask);
offset_digit = operation[3:0];
offset_shift = (((vector_offset << 2) + vector_offset) << 1) + {12'd0, offset_digit};
vector_output = vector_base + vector_index + vector_offset;
vector_margin = vector_en && ~|offset_digit && is_base && ~|vector_offset && ~|pointers_set;
end
always @(posedge clk)
begin
if(vector_clr)
begin
base_index <= 0;
vector_base <= 0;
vector_index <= 0;
vector_offset <= 0;
pointers_set <= 0;
end else
if(vector_margin)
base_index <= 0;
else
if(vector_en)
begin
vector_offset <= offset_shift;
if(~|base_index)
begin
base_index <= ~pointer_index;
vector_base <= vector_input;
end else
if(is_base)
begin
vector_index <= vector_index << 1;
pointers_set <= pointer_mask;
end else
if(is_shift)
begin
vector_index <= (vector_index << 1) + vector_input;
pointers_set <= pointer_mask;
end else begin
vector_index <= vector_index + vector_input;
pointers_set <= pointers_set | pointer_mask;
end
end
end
endmodule
+----------> Имеется "маргинальный префикс"
|
| +----------> Имеется "векторный префикс"
| |
| | ++---------> Приёмник - либо A0/PSW, либо порт Dj, либо 16-битная регистровая пара Bn:Cn
| | ||
| | || +-------> Приёмник и источник - один РОН или регистровая пара
| | || |
| | || | ++----> Приёмник - либо A0/PSW, либо порт Dj, либо 16-битная регистровая пара Bi:Ci
| | || | ||
| | || | || +--> Признак FOR/MOV - не АЛУ-операции
| | || | || |
M V AD E AD F
X_1_10_1_XX_1: MOV PSW,[V] ; Чтение PSW из ОЗУ
X_1_10_1_XX_0: UNARY [V] ; Унарные INC/DEC/CLR/SET/NOT над ОЗУ
X_0_10_1_XX_1: MOV??? PSW,PSW ; 1 шт. !!!reserved!!!
X_0_10_1_XX_0: UNARY?? PSW ; 5 шт. !!!reserved!!!
X_1_10_X_01_1: SWAP [V],Dn ; XCHG ОЗУ и 16-битной пары
X_1_10_X_01_0: ALU_OP [V],Dn ; АЛУ-ADD/SUB/AND/OR/EOR 16-битного ОЗУ и пары
X_0_10_X_01_1: INF Dj ; MOV PSW,Dj - Попытка ввода из порта (результат - в CF)
X_0_10_X_01_0: UNARY Dn ; 16-битные унарные INC/DEC/CLR/SET/NOT
X_1_10_X_XX_1: SWAP [V],Rn ; XCHG ОЗУ и 8-битного РОН
X_1_10_X_XX_0: ALU_OP [V],Rn ; АЛУ-ADD/SUB/AND/OR/EOR ОЗУ и 8-битного РОН
X_0_10_X_XX_1: MOV PSW,Rn ; Чтение PSW из РОН
X_0_10_X_XX_0: UNARY Rn ; Унарные INC/DEC/CLR/SET/NOT над РОН
X_1_01_X_10_X: ALU/MOV Dn,[V] ; АЛУ-ADD/SUB/AND/OR/EOR и MOV пары с 16-битным ОЗУ
X_0_01_X_10_1: OUF Dj ; MOV Dj,PSW - Попытка вывода в порт (результат - в CF)
X_0_01_X_10_0: UNARY Dn,CF ; Унарные INC/DEC/CLR/SET/NOT над парой при условии CF
X_1_00_X_10_X: ALU/MOV Rn,[V] ; АЛУ-ADD/SUB/AND/OR/EOR и MOV РОН с ОЗУ
X_0_00_X_10_1: MOV Rn,PSW ; Загрузка PSW в РОН
X_0_00_X_10_0: UNARY Rn,CF ; Унарные INC/DEC/CLR/SET/NOT над РОН при условии CF
X_1_01_1_XX_1: LEA Dn,[V] ; Загрузка "эффективного адреса" в регистровую пару
X_1_01_0_01_1: ORD Dn,[V],Di ; Dn = (MAX(Dn, Di) - ОЗУ) >> 1
X_1_01_X_01_0: ALU_OP Dn,[V],Di ; 16-битная ADD/SUB/AND/OR/EOR ОЗУ с Di, результат в Dn
X_0_XX_1_XX_1: MOV??? R,R ; 1 шт. Холостая пересылка (NOP???)
X_0_01_1_XX_0: UNARY?? Dn ; 5 шт. 16-битные унарные INC/DEC/CLR/SET/NOT (повтор!!!)
X_1_01_0_XX_1: LEX Dn,[V],Ri ; 16-битный XLAT: MOV Dn,[V+2*Ri]
X_1_01_X_XX_0: ALU_OP Dn,[V],Ri ; 8-битная ADD/SUB/AND/OR/EOR ОЗУ с РОН, результат в 16-бит Dn
X_0_01_0_00_1: MOV Dj,Ri ; Аналог OUT Dj,Ri - вывод в порт
X_0_01_X_XX_0: ALU_OP Dn,Ri ; 16-битная ADD/SUB/AND/OR/EOR Dn с 8-битным Dn
X_1_0X_X_01_1: MOV??? R,[V],Dj ; 1 шт. !!!СТРАННАЯ ОПЕРАЦИЯ!!!
X_1_0X_X_01_0: ALU_OP R,[V],Dj ; 8-битная ADD/SUB/AND/OR/EOR ОЗУ с портом Dj, результат в РОН
X_0_0X_X_01_X: ALU/MOV R,Dj ; АЛУ-ADD/SUB/AND/OR/EOR или MOV (IN R,Dj) РОН с портом Dj
X_1_0X_1_0X_1: LEX R,[V] ; 8-битный XLAT: MOV R,[V+R]
X_1_0X_0_0X_1: ORD R,[V],R' ; R = (MAX(R, R') - ОЗУ) >> 1
X_1_0X_X_01_X: ALU/MOV R,[V],R' ; ADD/SUB/AND/OR/EOR или MOV ОЗУ с R', результат в РОН
X_0_0X_X_01_X: ALU/MOV R,R' ; ADD/SUB/AND/OR/EOR или MOV ОЗУ с R', результат в РОН
Примеры:_____
AA A0 12 0F MOV PSW,[D1+2] ; На самом деле, полная мнемоника операции - MOV A0,[D1+2],A0
AA A0 12 0E NOT [D1+2] ; На самом деле, полная мнемоника операции - EOR A0,[D1+2],A0
AD A0 12 3F SWAP [D1+2],D3 ; На самом деле, полная мнемоника операции - MOV A0,[D1+2],D3
AD A0 1F INF D1 ; На самом деле, полная мнемоника операции - MOV A0,D1
AD A0 1E NOT D1 ; На самом деле, полная мнемоника операции - EOR A0,D1
AB A0 12 3F SWAP [D1+2],B3 ; На самом деле, полная мнемоника операции - MOV A0,[D1+2],B3
AB A0 12 3E EOR [D1+2],B3 ; На самом деле, полная мнемоника операции - EOR A0,[D1+2],B3
AB A0 1F MOV PSW,B1 ; На самом деле, полная мнемоника операции - MOV A0,B1
AB A0 1E NOT B1 ; На самом деле, полная мнемоника операции - EOR A0,B1
DA D1 0F OUF D1 ; На самом деле, полная мнемоника операции - MOV D1,A0
DA D1 0E NOT D1,CF ; На самом деле, полная мнемоника операции - EOR D1,A0
DD D1 23 1F LEA D1,[D2+3] ; На самом деле, полная мнемоника операции - MOV D1,[D2+3],D1
DD D1 23 4F ORD D1,[D2+3],D4 ; На самом деле, полная мнемоника операции - MOV D1,[D2+3],D4
DC D1 23 4F LEX D1,[D2+3],C4 ; На самом деле, полная мнемоника операции - MOV D1,[D2+3],C4
VCD info: dumpfile testbench.vcd opened for output.
_IP_:M#[VV]IC M_V_AD_E_AD_F RC<>TR _ASM ..OPERANDS.. _REAL INSTRUCTION_
0000: AA 0_0_x0_x_0x_0:A?!=0? ARG A,A
0001: A0 0_0_x0_x_00_0:A?!=AA REG A0
0002:86#59 A0 1_1_10_0_00_0:A0!=AA MOV86 D1+2D2+3D3+4D4+5D5+67D6+789,A0
0016:03# A0 1_0_10_0_00_0:A0!=AA REG3 A0 ; Marginaled
0019: 0F 0_0_10_1_10_1:A0==A0 --- ??? ; MOV A0,A0
001A: 0E 0_0_10_1_10_0:A0==A0 --- ??? ; EOR A0,A0
001B: 0D 0_0_10_1_10_0:A0==A0 --- ??? ; DIS A0,A0
001C: 0C 0_0_10_1_10_0:A0==A0 --- ??? ; CON A0,A0
001D: 0B 0_0_10_1_10_0:A0==A0 --- ??? ; SUB A0,A0
001E: 0A 0_0_10_1_10_0:A0==A0 --- ??? ; ADD A0,A0
001F: 34 0F 0_1_10_1_10_1:A0==A0 MOV PSW,D3+4 ; MOV A0,D3+4,A0
0021: 34 0E 0_1_10_1_10_0:A0==A0 NOT D3+4 ; EOR A0,D3+4,A0
0023: AD 0_0_10_0_00_0:A0!=AA ARG A,D
0024: 5F 0_0_10_0_01_1:A0!=D5 INF D5 ; MOV A0,D5
0025: 5E 0_0_10_0_01_0:A0!=D5 NOT D5 ; EOR A0,D5
0026: 34 5F 0_1_10_0_01_1:A0!=D5 SWP D3+4,D5 ; MOV A0,D3+4,D5
0028: 34 5E 0_1_10_0_01_0:A0!=D5 EOR D3+4,D5 ; EOR A0,D3+4,D5
002A: AC 0_0_10_0_01_0:A0!=Da ARG A,C
002B: 5F 0_0_10_0_00_1:A0!=C5 MOV PSW,C5 ; MOV A0,C5
002C: 5E 0_0_10_0_00_0:A0!=C5 NOT C5 ; EOR A0,C5
002D: 34 5F 0_1_10_0_00_1:A0!=C5 SWP D3+4,C5 ; MOV A0,D3+4,C5
002F: 34 5E 0_1_10_0_00_0:A0!=C5 EOR D3+4,C5 ; EOR A0,D3+4,C5
0031: DA 0_0_10_0_00_0:A0!=CD ARG D,A
0032: D1 0_0_01_0_00_0:Dx!=AD REG D1
0033: 0F 0_0_01_0_10_1:D1!=A0 OUF D1 ; MOV D1,A0
0034: 0E 0_0_01_0_10_0:D1!=A0 NOT D1,CF ; EOR D1,A0
0035: 34 0F 0_1_01_0_10_1:D1!=A0 MOV D1,D3+4 ; MOV D1,D3+4,A0
0037: 34 0E 0_1_01_0_10_0:D1!=A0 EOR D1,D3+4 ; EOR D1,D3+4,A0
0039: CA 0_0_01_0_00_0:D1!=AC ARG C,A
003A: C2 0_0_00_0_00_0:C?!=AC REG C2
003B: 0F 0_0_00_0_10_1:C2!=A0 MOV C2,PSW ; MOV C2,A0
003C: 0E 0_0_00_0_10_0:C2!=A0 NOT C2,CF ; EOR C2,A0
003D: 34 0F 0_1_00_0_10_1:C2!=A0 MOV C2,D3+4 ; MOV C2,D3+4,A0
003F: 34 0E 0_1_00_0_10_0:C2!=A0 EOR C2,D3+4 ; EOR C2,D3+4,A0
0041: DD 0_0_00_0_00_0:C2!=AD ARG D,D
0042: 1F 0_0_01_1_01_1:D1==D1 ??? D1 ; MOV D1,D1
0043: 1E 0_0_01_1_01_0:D1==D1 NEG D1 ; EOR D1,D1
0044: 1D 0_0_01_1_01_0:D1==D1 STD D1 ; DIS D1,D1
0045: 1C 0_0_01_1_01_0:D1==D1 CLN D1 ; CON D1,D1
0046: 1B 0_0_01_1_01_0:D1==D1 SUB D1 ; SUB D1,D1
0047: 1A 0_0_01_1_01_0:D1==D1 ADD D1 ; ADD D1,D1
0048:06#34 5F 1_1_01_0_01_1:D1!=D5 ORD6 D1,D3+4,D5 ; MOV D1,D3+4,D5
004C: 34 5E 0_1_01_0_01_0:D1!=D5 EOR D1,D3+4,D5 ; EOR D1,D3+4,D5
004E: 34 1F 0_1_01_1_01_1:D1==D1 LEA D1,D3+4 ; MOV D1,D3+4,D1
0050: 34 1E 0_1_01_1_01_0:D1==D1 RRC D1,D3+4,D1 ; EOR D1,D3+4,D1
0052: 34 1D 0_1_01_1_01_0:D1==D1 SAL D1,D3+4,D1 ; DIS D1,D3+4,D1
0054: 34 1C 0_1_01_1_01_0:D1==D1 SAR D1,D3+4,D1 ; CON D1,D3+4,D1
0056: 34 1B 0_1_01_1_01_0:D1==D1 SUB D1,D3+4,D1 ; SUB D1,D3+4,D1
0058: 34 1A 0_1_01_1_01_0:D1==D1 MUL D1,D3+4,D1 ; ADD D1,D3+4,D1
005A: DB 0_0_01_0_01_0:D1!=Dd ARG D,B
005B: 5F 0_0_01_0_00_1:D1!=B5 OUT D1,B5 ; MOV D1,B5
005C: 5E 0_0_01_0_00_0:D1!=B5 EOR D1,B5 ; EOR D1,B5
005D: 34 5F 0_1_01_0_00_1:D1!=B5 LEX D1,D3+4,B5 ; MOV D1,D3+4,B5
005F: 34 5E 0_1_01_0_00_0:D1!=B5 EOR D1,D3+4,B5 ; EOR D1,D3+4,B5
0061: CD 0_0_01_0_00_0:D1!=BC ARG C,D
0062: 5F 0_0_00_0_01_1:C2!=D5 MOV C2,D5 ; MOV C2,D5
0063: 5E 0_0_00_0_01_0:C2!=D5 EOR C2,D5 ; EOR C2,D5
0064: 34 5F 0_1_00_0_01_1:C2!=D5 ??? C2,D3+4,D5 ; MOV C2,D3+4,D5
0066: 34 5E 0_1_00_0_01_0:C2!=D5 EOR C2,D3+4,D5 ; EOR C2,D3+4,D5
0068: CC 0_0_00_0_01_0:C2!=Dc ARG C,C
0069: 2F 0_0_00_1_00_1:C2==C2 MOV C2,C2 ; MOV C2,C2
006A: 2E 0_0_00_1_00_0:C2==C2 NEG C2,C2 ; EOR C2,C2
006B: 2D 0_0_00_1_00_0:C2==C2 STD C2,C2 ; DIS C2,C2
006C: 2C 0_0_00_1_00_0:C2==C2 CLN C2,C2 ; CON C2,C2
006D: 2B 0_0_00_1_00_0:C2==C2 SUB C2,C2 ; SUB C2,C2
006E: 2A 0_0_00_1_00_0:C2==C2 ADD C2,C2 ; ADD C2,C2
006F: 34 2F 0_1_00_1_00_1:C2==C2 LEX C2,D3+4,C2 ; MOV C2,D3+4,C2
0071: 34 2E 0_1_00_1_00_0:C2==C2 RRC C2,D3+4,C2 ; EOR C2,D3+4,C2
0073: 34 2D 0_1_00_1_00_0:C2==C2 SAL C2,D3+4,C2 ; DIS C2,D3+4,C2
0075: 34 2C 0_1_00_1_00_0:C2==C2 SAR C2,D3+4,C2 ; CON C2,D3+4,C2
10 10 80 90 80 80 90 80 80 80 80 80 80 A7