aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/perlasm/x86masm.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2010-06-04 13:13:18 +0000
committerAndy Polyakov <appro@openssl.org>2010-06-04 13:13:18 +0000
commitd08eae1bda65a88d1eb338a870d25c1727752954 (patch)
treebd97267355cc8b84e7ab0c20b6760d57a351c9da /crypto/perlasm/x86masm.pl
parente8107c35b163113af79f5753192b9257caa3e1b5 (diff)
downloadopenssl-d08eae1bda65a88d1eb338a870d25c1727752954.tar.gz
x86 perlasm: add support for 16-bit values.
Diffstat (limited to 'crypto/perlasm/x86masm.pl')
-rw-r--r--crypto/perlasm/x86masm.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/perlasm/x86masm.pl b/crypto/perlasm/x86masm.pl
index 03e7ba66ae..279ab29b8c 100644
--- a/crypto/perlasm/x86masm.pl
+++ b/crypto/perlasm/x86masm.pl
@@ -14,7 +14,7 @@ sub ::generic
{ my ($opcode,@arg)=@_;
# fix hexadecimal constants
- for (@arg) { s/0x([0-9a-f]+)/0$1h/oi; }
+ for (@arg) { s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/oi; }
if ($opcode !~ /movq/)
{ # fix xmm references
@@ -65,6 +65,7 @@ sub get_mem
$ret;
}
sub ::BP { &get_mem("BYTE",@_); }
+sub ::WP { &get_mem("WORD",@_); }
sub ::DWP { &get_mem("DWORD",@_); }
sub ::QWP { &get_mem("QWORD",@_); }
sub ::BC { "@_"; }
@@ -156,6 +157,9 @@ sub ::public_label
sub ::data_byte
{ push(@out,("DB\t").join(',',@_)."\n"); }
+sub ::data_short
+{ push(@out,("DW\t").join(',',@_)."\n"); }
+
sub ::data_word
{ push(@out,("DD\t").join(',',@_)."\n"); }