summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-08 18:01:21 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-08 18:01:21 -0700
commit40b81a40c73f463de5153be064f52a5ba2139134 (patch)
tree87a00a5822008168b1f0dc1ba08f06cce03d621d /disasm.c
parent03b9f941336d901e32054efc8cda20a3cc3916d3 (diff)
downloadnasm-40b81a40c73f463de5153be064f52a5ba2139134.tar.gz
nasm-40b81a40c73f463de5153be064f52a5ba2139134.tar.bz2
nasm-40b81a40c73f463de5153be064f52a5ba2139134.zip
Add symbolic constants for REX_V "classes" (VEX, XOP, ...)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/disasm.c b/disasm.c
index a53fe0a..a48a015 100644
--- a/disasm.c
+++ b/disasm.c
@@ -1050,7 +1050,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex[1] = *data++;
prefix.rex = REX_V;
- prefix.vex_c = 0;
+ prefix.vex_c = RV_VEX;
if (prefix.vex[0] == 0xc4) {
prefix.vex[2] = *data++;
@@ -1066,7 +1066,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex_lp = prefix.vex[1] & 7;
}
- ix = itable_vex[0][prefix.vex_m][prefix.vex_lp];
+ ix = itable_vex[RV_VEX][prefix.vex_m][prefix.vex_lp];
}
end_prefix = true;
break;
@@ -1079,7 +1079,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex[2] = *data++;
prefix.rex = REX_V;
- prefix.vex_c = 1;
+ prefix.vex_c = RV_XOP;
prefix.rex |= (~prefix.vex[1] >> 5) & 7; /* REX_RXB */
prefix.rex |= (prefix.vex[2] >> (7-3)) & REX_W;
@@ -1087,7 +1087,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex_v = (~prefix.vex[2] >> 3) & 15;
prefix.vex_lp = prefix.vex[2] & 7;
- ix = itable_vex[1][prefix.vex_m][prefix.vex_lp];
+ ix = itable_vex[RV_XOP][prefix.vex_m][prefix.vex_lp];
}
end_prefix = true;
break;