`DECODE_CDP, /* Coprocessor data op */
`DECODE_MRCMCR, /* Coprocessor register transfer */
`DECODE_SWI: /* SWI */
- rpc = inpc - 8;
+ rpc = inpc + 8;
`DECODE_ALU: /* ALU */
- rpc = inpc - (insn[25] ? 8 : (insn[4] ? 12 : 8));
+ rpc = inpc + (insn[25] ? 8 : (insn[4] ? 12 : 8));
default: /* X everything else out */
rpc = 32'hxxxxxxxx;
endcase
begin
read_0 = insn[19:16]; /* Rn */
read_1 = insn[3:0]; /* Rm */
+ read_2 = insn[15:12];
op0_out = regs0;
if(insn[25]) begin
op1_out = shift_res;
carry_out = shift_cflag_out;
end
+ op2_out = regs2;
end
`DECODE_LDMSTM: /* Block data transfer */
begin