You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
jq '.[] | select(.meta_info.category == "COND_BR" and .filters?.mode? == "64" and any(.operands[]?; .register == "eip")) ' instructions.json
yields a total of 15 affected instruction. Substituting "eip" with "rip" for these should do the trick. XED correctly displays rip for these btw, so it looks like this slipped though our compare tool.
I updated the matching instructions which I think should resolve the issue, but don't have the table generator at hand, so we'll have to wait for @flobernd to update the generated files in this repo.
Bug report
The second operand of a conditional jump (for example
jnz
) with 8 bits relative offset should berip
but is currentlyeip
.Expected Behavior
In 64 bit mode, the second operand (implicit) of a
jcc
instruction likejnz
with a relative offset of 8 bits isrip
.Actual Behavior
In 64 bit mode, the second operand (implicit) of a
jcc
instruction likejnz
with a relative offset of 8 bits iseip
.Steps to Reproduce the Problem
Minimal failing example:
It outputs
eip
but should outputrip
.For information, the first operand is the immediate displacement value and the third operand is
rflags
.Remarks
If you take a long
jnz
encoding with 32 bit displacement, e.g.0F8500000000
, it outputsrip
as expectedI tested with some other randomly picked
jcc
instruction likeja
orje
and they all have the same bug.Specifications
The text was updated successfully, but these errors were encountered: