summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/lib.rs b/src/lib.rs
index d8093ae..f3e69c6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1105,9 +1105,6 @@ fn decode_instruction<
if predicate_store {
let nn = (inst >> 23) & 0b11;
- let negated = nn & 1 == 1;
- let pred_new = nn >> 1 == 1;
-
let l_lo = reg_b0(inst);
let vv = ((inst >> 5) & 0b11) as u8;
let iiiiii = (inst >> 7) & 0b11_1111;
@@ -1464,20 +1461,20 @@ fn decode_instruction<
handler.on_dest_decoded(Operand::gpr(ddddd))?;
Opcode::CmpEq
};
- handler.on_opcode_decoded(op);
+ handler.on_opcode_decoded(op)?;
let min_low = min_op & 0b11;
if min_low == 0b11 {
- handler.negate_result();
+ handler.negate_result()?;
}
if min_low == 0b01 {
- handler.on_source_decoded(Operand::imm_i8(i));
- handler.on_source_decoded(Operand::gpr(sssss));
+ handler.on_source_decoded(Operand::imm_i8(i))?;
+ handler.on_source_decoded(Operand::gpr(sssss))?;
} else {
- handler.on_source_decoded(Operand::gpr(sssss));
- handler.on_source_decoded(Operand::imm_i8(i));
+ handler.on_source_decoded(Operand::gpr(sssss))?;
+ handler.on_source_decoded(Operand::imm_i8(i))?;
}
} else {
let sssss = reg_b16(inst);
@@ -1503,7 +1500,7 @@ fn decode_instruction<
let sssss = reg_b16(inst);
let ddddd = reg_b0(inst);
- handler.on_opcode_decoded(Opcode::Add);
+ handler.on_opcode_decoded(Opcode::Add)?;
let negated = (min_op >> 2) & 1 == 1;
let pred_number = min_op & 0b11;
@@ -1638,7 +1635,7 @@ fn decode_instruction<
let ddddd = reg_b0(inst);
- handler.on_opcode_decoded(Opcode::TransferImmediate);
+ handler.on_opcode_decoded(Opcode::TransferImmediate)?;
let negated = (min_op >> 2) & 1 == 1;
let pred_number = min_op & 0b11;