summaryrefslogtreecommitdiff
path: root/insns.pl
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-10-06 23:40:31 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-10-06 23:40:31 -0700
commitc1377e9a98dd5ca6f7900c048df5d346d1733d05 (patch)
treebb8b66a023c6e2106d2492cbc7ac9ba486ac6d03 /insns.pl
parent94cacf8ea9a7c2741f1fef6091d7e5fded7454fe (diff)
downloadnasm-c1377e9a98dd5ca6f7900c048df5d346d1733d05.tar.gz
nasm-c1377e9a98dd5ca6f7900c048df5d346d1733d05.tar.bz2
nasm-c1377e9a98dd5ca6f7900c048df5d346d1733d05.zip
New opcodes to deal with 8-bit immediate sign extended to opsize
New opcodes to deal with 8-bit immediates which are then sign-extended to the operand size. These allow us to warn appropriately. Not sure I'm using these in all the proper places; need audit of all uses of the \14..\17 opcodes. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'insns.pl')
-rwxr-xr-xinsns.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/insns.pl b/insns.pl
index 9a8d3ed..cb45496 100755
--- a/insns.pl
+++ b/insns.pl
@@ -670,6 +670,8 @@ sub byte_code_compile($) {
push(@codes, 024+$oppos{'i'});
} elsif ($op eq 'iw') { # imm16
push(@codes, 030+$oppos{'i'});
+ } elsif ($op eq 'ibx') { # imm8 sign-extended to opsize
+ push(@codes, 0274+$oppos{'i'});
} elsif ($op eq 'iwd') { # imm16 or imm32, depending on opsize
push(@codes, 034+$oppos{'i'});
} elsif ($op eq 'id') { # imm32