mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 19:42:36 +02:00
V850: Fixed multiply by immediate
Multiply by immediate (mul imm9, reg2, reg3) used a signed token for the lower 5 bits of the immediate value imm9. This resulted in any immediate value in which the 5th bit was set to be calculated incorrectly. imm9 = 0x18 ( 0b000011000 ) OLD: f8 0f 40 52 mul -0x8, r1, r10 NEW: f8 0f 40 52 mul 0x18, r1, r10 imm9 = -0xF0 ( 0b100010000 ) OLD: f0 0f 60 52 mul -0x10, r1, r10 NEW: f0 0f 60 52 mul -0xf0, r1, r10
This commit is contained in:
parent
b57744d4e0
commit
c8322ba9e7
1 changed files with 2 additions and 2 deletions
|
@ -21,8 +21,8 @@
|
|||
}
|
||||
|
||||
# MUL imm9, reg2, reg3 - rrrrr111111iiiii|wwwww01001IIII00
|
||||
:mul imm9, R1115, R2731 is op0510=0x3F & s0004 & R1115; op2226=0x9 & op1617=0x0 & s1821 & R2731
|
||||
[ imm9 = (s1821 << 5) | s0004; ]
|
||||
:mul imm9, R1115, R2731 is op0510=0x3F & op0004 & R1115; op2226=0x9 & op1617=0x0 & s1821 & R2731
|
||||
[ imm9 = (s1821 << 5) | op0004; ]
|
||||
{
|
||||
local res:8 = sext(R1115) * imm9;
|
||||
R1115 = res:4;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue