summaryrefslogtreecommitdiff
path: root/arch/msp430/src
diff options
context:
space:
mode:
authorAlexander Taylor <alex@vector35.com>2024-08-22 19:32:53 -0400
committerAlexander Taylor <alex@vector35.com>2024-08-22 19:35:31 -0400
commit3f497bcebd9da0e60a39edcadffbc017a8509b18 (patch)
treebc6624ba8bad16e882c312ad72f4cc870df5ed8d /arch/msp430/src
parent53a0b06bc231135b2ca687981b88ea907dcae281 (diff)
Fix MSP430 lifting bugs causing crashes and errors.
Diffstat (limited to 'arch/msp430/src')
-rw-r--r--arch/msp430/src/lift.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/msp430/src/lift.rs b/arch/msp430/src/lift.rs
index 85d204e1..880f201d 100644
--- a/arch/msp430/src/lift.rs
+++ b/arch/msp430/src/lift.rs
@@ -73,6 +73,7 @@ macro_rules! one_operand {
)
.append()
}
+ Operand::Constant(val) => $il.store(2, $il.const_int(2, *val as u64), $op).append(),
_ => {
unreachable!()
}
@@ -222,7 +223,7 @@ pub(crate) fn lift_instruction(inst: &Instruction, addr: u64, il: &Lifter<Msp430
None => 2,
};
let src = lift_source_operand(inst.source(), size, il);
- il.push(2, src).append();
+ il.push(size, src).append();
auto_increment!(inst.source(), il);
}
Instruction::Call(inst) => {