-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: Loop variable adding ptr offset to value #1188
Comments
[[reko::address("0800:0E4B")]] void Graphical_Operations_0E4B(); Has the same issue / similar issue.
ASM:
|
Okay, Pretty sure I know what the bug is:
ASM: (0800:4D57)
Reko is definitely rolling the ptr offset backwards into the start value. I can see why that might happen as an optimisation but it makes it human readability worse as they are then non-human values. Perhaps leaving it as two statements + Offset instead of merging the Offset into the I'll see if I can analysis the procedure decompilation to find where it starts going off-track. |
It appears a [BP -2h] is not being declared inside a If scope and then from that point forward the [BP -2h] starts causing FP-EvenNum errors in the code as Reko loses tracking on that base pointer offset.
Incorrect Reko HL:
I've read the ASM and think it should be:
(Which makes sense, its cycling through damaged locations on a vehicle checking for a component (0x22) as part of a repair function)
ASM:
The text was updated successfully, but these errors were encountered: