summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/src/backend/gen_register.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/backend/src/backend/gen_register.hpp b/backend/src/backend/gen_register.hpp
index bbea7616..a8eb2e45 100644
--- a/backend/src/backend/gen_register.hpp
+++ b/backend/src/backend/gen_register.hpp
@@ -1267,6 +1267,11 @@ namespace gbe
} else if (reg.type == GEN_TYPE_W) {
const uint16_t uw = reg.value.ud & 0xffff;
reg = GenRegister::immw(-(int16_t)uw);
+ } else if (reg.type == GEN_TYPE_HF_IMM) {
+ const uint16_t uw = reg.value.ud & 0xffff;
+ reg = GenRegister::immh(uw ^ 0x8000);
+ } else if (reg.type == GEN_TYPE_DF_IMM) {
+ reg.value.df = -reg.value.df;
} else
NOT_SUPPORTED;
}