% This file generates all orthogonal instructions for a % single-operand ALU instruction. % #1 Base offset of opcode % #2 Operation code % #1+0 opA->B @(#1 + 0 * stride) #include mc_alu1o.txt alu_a_to_1 #2 ld_b % #1+1 opA->C @(#1 + 1 * stride) #include mc_alu1o.txt alu_a_to_1 #2 ld_c % #1+2 opA->MJ @(#1 + 2 * stride) #include mc_alu1o.txt alu_a_to_1 #2 ld_mem sel_j % #1+3 opA->MXY @(#1 + 3 * stride) #include mc_alu1o.txt alu_a_to_1 #2 ld_mem sel_xy % #1+4 opB->A @(#1 + 4 * stride) #include mc_alu1o.txt alu_b_to_1 #2 ld_a % #1+5 opB->C @(#1 + 5 * stride) #include mc_alu1o.txt alu_b_to_1 #2 ld_c % #1+6 opB->MJ @(#1 + 6 * stride) #include mc_alu1o.txt alu_b_to_1 #2 ld_mem sel_j % #1+7 opB->MXY @(#1 + 7 * stride) #include mc_alu1o.txt alu_b_to_1 #2 ld_mem sel_xy % #1+8 opC->A @(#1 + 8 * stride) #include mc_alu1o.txt alu_c_to_1 #2 ld_a % #1+9 opC->B @(#1 + 9 * stride) #include mc_alu1o.txt alu_c_to_1 #2 ld_b % #1+10 opC->MJ @(#1 + 10 * stride) #include mc_alu1o.txt alu_c_to_1 #2 ld_mem sel_j % #1+11 opC->MXY @(#1 + 11 * stride) #include mc_alu1o.txt alu_c_to_1 #2 ld_mem sel_xy % #1+12 opA (just load BC) @(#1 + 12 * stride) #include mc_alu1b.txt alu_a_to_1 #2 % #1+13 opB (just load BC) @(#1 + 13 * stride) #include mc_alu1b.txt alu_b_to_1 #2 % #1+14 opC (just load BC) @(#1 + 14 * stride) #include mc_alu1b.txt alu_c_to_1 #2