summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c122
1 files changed, 61 insertions, 61 deletions
diff --git a/disasm.c b/disasm.c
index 0ff40fc1..e3b02245 100644
--- a/disasm.c
+++ b/disasm.c
@@ -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;