-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
The conditional branch in the emulator reads the least significant bit of the byte specified to determine whether or not to branch.
symbolic-pcode/crates/pcode/src/emulator.rs
Line 479 in 09edfef
| condition: memory.read_bit(&instruction.inputs[1])?.try_into().ok(), |
However, the specification for CBRANCH states:
This is a conditional branch instruction where the dynamic condition for taking the branch is determined by the 1 byte variable input1. If this variable is non-zero, the condition is considered true and the branch is taken. [emph. added]
Therefore this check should be updated to compare the byte to the zero byte.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working