summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2010-08-19 17:04:36 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2010-08-19 17:04:36 -0700
commit5d62e57a0c8fd4b2aa9c9b671ba43be2817d789f (patch)
treeeb53a6dcc21a3112769ebaa2aa4069f6d6a3880b /disasm.c
parent23f0b16c21467aefd2b8ae5c507af902d102d39e (diff)
downloadnasm-5d62e57a0c8fd4b2aa9c9b671ba43be2817d789f.tar.gz
nasm-5d62e57a0c8fd4b2aa9c9b671ba43be2817d789f.tar.bz2
nasm-5d62e57a0c8fd4b2aa9c9b671ba43be2817d789f.zip
ndisasm: handle VEX.LIG
A lot of instructions ignore the L bit in the VEX prefix, just like a lot of instructions ignore the W bit, so don't use them in the sub-table select. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/disasm.c b/disasm.c
index 81282e6..ba282d3 100644
--- a/disasm.c
+++ b/disasm.c
@@ -1081,7 +1081,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex_lp = prefix.vex[1] & 7;
}
- ix = itable_vex[RV_VEX][prefix.vex_m][prefix.vex_lp];
+ ix = itable_vex[RV_VEX][prefix.vex_m][prefix.vex_lp & 3];
}
end_prefix = true;
break;