x86 perlasm: add support for 16-bit values.

This commit is contained in:
Andy Polyakov
2010-06-04 13:13:18 +00:00
parent e8107c35b1
commit d08eae1bda
3 changed files with 10 additions and 2 deletions

View File

@@ -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"); }