summaryrefslogtreecommitdiff
path: root/disasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-10-10 22:10:31 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-10-23 23:03:59 -0700
commitdcffe4b9f651bb420c62b7cffb5aa5169310763d (patch)
tree3d99a77d257fac05857a36958744c2ed03311412 /disasm.c
parentb21141a30128d2d2d8001cd4d9babab18366b867 (diff)
downloadnasm-dcffe4b9f651bb420c62b7cffb5aa5169310763d.tar.gz
nasm-dcffe4b9f651bb420c62b7cffb5aa5169310763d.tar.bz2
nasm-dcffe4b9f651bb420c62b7cffb5aa5169310763d.zip
Add extension bytecodes to support operands 4+
The bytecode format assumes max 4 operands pretty strictly, but we already have one instruction with 5 operands, and it's likely to get more. Support them via extension prefixes (similar to REX prefixes). For bytecodes which use argument bytes we encode the number directly, however. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'disasm.c')
-rw-r--r--disasm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/disasm.c b/disasm.c
index 4efcdc8..70bbfc1 100644
--- a/disasm.c
+++ b/disasm.c
@@ -402,6 +402,7 @@ static int matches(const struct itemplate *t, uint8_t *data,
case 01:
case 02:
case 03:
+ case 04:
while (c--)
if (*r++ != *data++)
return false;