diff options
author | m417z <mmm.maltsev@gmail.com> | 2021-09-10 16:28:22 +0300 |
---|---|---|
committer | m417z <mmm.maltsev@gmail.com> | 2021-09-10 16:28:22 +0300 |
commit | 2f29075227b33d09dc81f71af8219e72c151e3c8 (patch) | |
tree | 3300866bf43ce4813d64e04dfcffa78624e2f5ff | |
parent | 4a455528f61b5a375b1f9d44e7d296d47f18bb18 (diff) |
Small changes to hde64
-rw-r--r-- | src/hde/hde64.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/hde/hde64.c b/src/hde/hde64.c index 55a702e..ce773b1 100644 --- a/src/hde/hde64.c +++ b/src/hde/hde64.c @@ -195,7 +195,7 @@ unsigned int hde64_disasm(const void *code, hde64s *hs) } for (; ht != table_end; ht += 2) if (*ht++ == opcode) { - if (*ht++ & pref && !((*ht << m_reg) & 0x80)) + if ((*ht++ & pref) && !((*ht << m_reg) & 0x80)) goto error_operand; else break; @@ -246,6 +246,7 @@ unsigned int hde64_disasm(const void *code, hde64s *hs) disp_size = 2; if (!(pref & PRE_67)) disp_size <<= 1; + break; } if (m_mod != 3 && m_rm == 4) { @@ -271,6 +272,7 @@ unsigned int hde64_disasm(const void *code, hde64s *hs) case 4: hs->flags |= F_DISP32; hs->disp.disp32 = *(uint32_t *)p; + break; } p += disp_size; } else if (pref & PRE_LOCK) |