+
+ instr_s.op_detail(NO_PSW_OPT) := instruction(0); --instr_s.sreg_update;
+
+ instr_s.op_group := ADDSUB_OP;
+
+ if (instr_s.opcode = "00000") then
+ instr_s.op_detail(CARRY_OPT) := instruction(1); --instr_s.carry;
+ end if;
+
+ if (instr_s.opcode = "00001") then
+ instr_s.op_detail(SUB_OPT) := '1';
+ instr_s.op_detail(CARRY_OPT) := instruction(1); --instr_s.carry;
+ end if;
+
+ if (instr_s.opcode = "00100") then
+ instr_s.op_group := AND_OP;
+ end if;
+
+ if (instr_s.opcode = "00110") then
+ instr_s.op_group := OR_OP;
+ end if;
+
+ if (instr_s.opcode = "01000") then
+ instr_s.op_group := XOR_OP;
+ end if;
+