beardypig/ghidra-emotionengine

EI/DI decompile improperly

Closed this issue · 1 comments

The EI and DI instructions modify bit 16 of the COP0 Status register, or the master interrupt enable. However, decompilation shows them as having the effect of Status = Status & 0xFFFFFFFE in the case of DI, which is incorrect.

A cleaner solution imo would be to decompile these instructions as EI() and DI() as if they were functions or macros.

Much cleaner. Easily done too :)