summaryrefslogtreecommitdiff
path: root/insns.pl
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-09-12 20:32:39 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-09-12 21:04:39 -0700
commit0da6b580ebb5ed60164b95a720fcf26591007b0f (patch)
treeb39606b1ca116922706cf1af0e076ba4345a96b9 /insns.pl
parent16b0a33ceae7b57cf4ebc9ab62cd4e1dc00dbf8c (diff)
downloadnasm-0da6b580ebb5ed60164b95a720fcf26591007b0f.tar.gz
nasm-0da6b580ebb5ed60164b95a720fcf26591007b0f.tar.bz2
nasm-0da6b580ebb5ed60164b95a720fcf26591007b0f.zip
Support r/m operands for non-integer types
Support r/m operands for non-integer operands types, i.e. mmx or xmm operands. This allows mmx and xmm operands to be written more compactly, speeding up the assembler.
Diffstat (limited to 'insns.pl')
-rw-r--r--insns.pl4
1 files changed, 3 insertions, 1 deletions
diff --git a/insns.pl b/insns.pl
index 280213c..421f16a 100644
--- a/insns.pl
+++ b/insns.pl
@@ -215,7 +215,9 @@ sub format {
$operands =~ s/memory_offs/mem_offs/g;
$operands =~ s/imm(\d+)/imm|bits$1/g;
$operands =~ s/imm/immediate/g;
- $operands =~ s/rm(\d+)/regmem|bits$1/g;
+ $operands =~ s/rm(\d+)/rm_gpr|bits$1/g;
+ $operands =~ s/mmxrm/rm_mmx/g;
+ $operands =~ s/xmmrm/rm_xmm/g;
$num = 3;
$operands = '0,0,0', $num = 0 if $operands eq 'void';
$operands .= ',0', $num-- while $operands !~ /,.*,/;