MSP430_OP_RLAM gives bad MSP430_SR_Z bit
zhaoleicpp opened this issue · comments
Zhao Lei commented
code:
dev->regs[dreg] = res_data & mask;
if (!res_data)
dev->regs[MSP430_REG_SR] |= MSP430_SR_Z;
in function step_RxxM in sim.c
if res_data is 0x10000 and mask is 0xffff
the dev->regs[dreg] is correctly set to 0;
but res_data remains 0x10000 the MSP430_SR_Z bit is bad.
Furtherly if res_data is 1 the MSP430_SR_Z bit should be cleared.
dev->regs[MSP430_REG_SR] &= ~MSP430_SR_Z;
Zhao Lei commented
dev->regs[MSP430_REG_SR] MSP430_SR_Z is cleared already. :-)