Update read/written registers for x86 loop instructions#2799
Merged
Rot127 merged 3 commits intocapstone-engine:nextfrom Oct 30, 2025
Merged
Update read/written registers for x86 loop instructions#2799Rot127 merged 3 commits intocapstone-engine:nextfrom
Rot127 merged 3 commits intocapstone-engine:nextfrom
Conversation
Collaborator
Please open an issue about this once this is merged. |
Rot127
approved these changes
Oct 18, 2025
Collaborator
|
Sorry for the delay. Can you please rebase. I was waiting to merge #2807 before looking at this. |
This fixes a bug in 64-bit mode where eip and ecx are read/written instead of rip and rcx. However, it introduces the bug that using the size prefix override (0x67e210) still reads/writes rip and rcx instead of eip and ecx. There is currently no way to solve this issue because 'insn->detail->x86.prefixes' isn't populated at the time when the register translation is happening in 'X86_get_insn_id'.
Contributor
Author
No need for apologies. If I hadn't made such a silly mistake, you wouldn't have been spending time fixing the tests. I am sorry for that. Updated. |
Contributor
Author
|
It looks like the failed job is due to an unreachable server to download a package: |
Rot127
approved these changes
Oct 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Your checklist for this pull request
Detailed description
Add read/written registers for loop, loope, and loopne instructions.
Test plan
Tests are included.
This fixes a bug in 64-bit mode where eip and ecx are read/written instead of rip and rcx. However, it introduces the bug that using the size prefix override (e.g., 0x67e210) still reads/writes rip and rcx instead of eip and ecx. There is currently no way to solve this issue because
insn->detail->x86.prefixesisn't populated at the time when the register translation is happening inX86_get_insn_id.