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
cl register stores the number of bits to shift. So it should be read.
This issue is detected with a fully automatic decoder testing tool based on my research. Please add a Bug tag to this page if you verify it's a problem. It means a lot to me and my research. Thank you for your consideration 😊!
The text was updated successfully, but these errors were encountered:
Mar3yZhang
changed the title
[X86] Missing one register access field in instruction shld
[X86] Missing ACCESS mode in the last register operand in instruction shldDec 6, 2024
Work environment
git clone
, default onnext
branch.Instruction bytes giving faulty results
Expected results
It should be:
Steps to get the wrong result
With
cstool
:$ ./cstool -d x64 0fa5c0 0 0f a5 c0 shld eax, eax, cl ID: 684 (shld) Prefix:0x00 0x00 0x00 0x00 Opcode:0x0f 0xa5 0x00 0x00 rex: 0x0 addr_size: 8 modrm: 0xc0 disp: 0x0 sib: 0x0 op_count: 3 operands[0].type: REG = eax operands[0].size: 4 operands[0].access: READ | WRITE operands[1].type: REG = eax operands[1].size: 4 operands[1].access: READ operands[2].type: REG = cl operands[2].size: 1 Registers read: cl eax Registers modified: rflags eax EFLAGS: MOD_CF MOD_SF MOD_ZF MOD_PF UNDEF_OF UNDEF_AF
Additional Logs, screenshots, source code, configuration dump, ...
cl
register stores the number of bits to shift. So it should be read.Bug
tag to this page if you verify it's a problem. It means a lot to me and my research. Thank you for your consideration 😊!The text was updated successfully, but these errors were encountered: