diff options
Diffstat (limited to 'disasm.c')
-rw-r--r-- | disasm.c | 122 |
1 files changed, 61 insertions, 61 deletions
@@ -407,67 +407,6 @@ static int matches(const struct itemplate *t, uint8_t *data, return false; break; - case 04: - switch (*data++) { - case 0x07: - ins->oprs[0].basereg = 0; - break; - case 0x17: - ins->oprs[0].basereg = 2; - break; - case 0x1F: - ins->oprs[0].basereg = 3; - break; - default: - return false; - } - break; - - case 05: - switch (*data++) { - case 0xA1: - ins->oprs[0].basereg = 4; - break; - case 0xA9: - ins->oprs[0].basereg = 5; - break; - default: - return false; - } - break; - - case 06: - switch (*data++) { - case 0x06: - ins->oprs[0].basereg = 0; - break; - case 0x0E: - ins->oprs[0].basereg = 1; - break; - case 0x16: - ins->oprs[0].basereg = 2; - break; - case 0x1E: - ins->oprs[0].basereg = 3; - break; - default: - return false; - } - break; - - case 07: - switch (*data++) { - case 0xA0: - ins->oprs[0].basereg = 4; - break; - case 0xA8: - ins->oprs[0].basereg = 5; - break; - default: - return false; - } - break; - case4(010): { int t = *r++, d = *data++; @@ -891,6 +830,67 @@ static int matches(const struct itemplate *t, uint8_t *data, case 0340: return false; + case 0344: + switch (*data++) { + case 0x06: + ins->oprs[0].basereg = 0; + break; + case 0x0E: + ins->oprs[0].basereg = 1; + break; + case 0x16: + ins->oprs[0].basereg = 2; + break; + case 0x1E: + ins->oprs[0].basereg = 3; + break; + default: + return false; + } + break; + + case 0345: + switch (*data++) { + case 0x07: + ins->oprs[0].basereg = 0; + break; + case 0x17: + ins->oprs[0].basereg = 2; + break; + case 0x1F: + ins->oprs[0].basereg = 3; + break; + default: + return false; + } + break; + + case 0346: + switch (*data++) { + case 0xA0: + ins->oprs[0].basereg = 4; + break; + case 0xA8: + ins->oprs[0].basereg = 5; + break; + default: + return false; + } + break; + + case 0347: + switch (*data++) { + case 0xA1: + ins->oprs[0].basereg = 4; + break; + case 0xA9: + ins->oprs[0].basereg = 5; + break; + default: + return false; + } + break; + case 0360: if (prefix->osp || prefix->rep) return false; |