Closed DCNick3 closed 4 years ago
Thanks for the report. I believe it should be fixed now.
I believe the 32-bit shift should be changed to just & 0x1f
, as per intel's pseudocode.
It should be fixed now, thanks for letting me know.
By the way, how are you finding all these corner-case shift bugs?
I'm doing my own implementation of JIT-based x86 emulator. To make it easier to develop I fuzz it using (a bit patched) halfix implementation and compare results. Most times the fault is mine, but sometimes I find bugs in halfix =)
That's really cool, I'm planning on adding a JIT compiler too, I hope to see your project soon!
The following snippet
sets
al
to0x8
, while0
is expected, as x86 masks the shift count with0x1f
before the rotate.