From 1655524a2c8a0c33d37cbde90a4a98ae80dcf328 Mon Sep 17 00:00:00 2001 From: Richard Nauber Date: Sat, 25 Dec 2010 22:36:30 +1300 Subject: [PATCH] sim: fix execution of SUB/SUBC/CMP opcodes. --- sim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim.c b/sim.c index 7d594e0..b0fc660 100644 --- a/sim.c +++ b/sim.c @@ -185,7 +185,7 @@ static int step_double(struct sim_device *dev, uint16_t ins) case MSP430_OP_SUB: case MSP430_OP_SUBC: case MSP430_OP_CMP: - src_data = ~src_data; + src_data = (~src_data) & mask; case MSP430_OP_ADD: case MSP430_OP_ADDC: if (opcode == MSP430_OP_ADDC || opcode == MSP430_OP_SUBC)