aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/perlasm/x86ms.pl
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/perlasm/x86ms.pl')
-rw-r--r--crypto/perlasm/x86ms.pl16
1 files changed, 15 insertions, 1 deletions
diff --git a/crypto/perlasm/x86ms.pl b/crypto/perlasm/x86ms.pl
index 4f4a6fea9d..8f77fed81e 100644
--- a/crypto/perlasm/x86ms.pl
+++ b/crypto/perlasm/x86ms.pl
@@ -92,7 +92,7 @@ sub get_mem
$reg2=&conv($1);
$addr="_$2";
}
- elsif ($addr =~ /^[_a-zA-Z]/)
+ elsif ($addr =~ /^[_a-zA-Z]$/)
{
$addr="_$addr";
}
@@ -368,6 +368,12 @@ sub main'comment
}
}
+sub main'public_label
+ {
+ $label{$_[0]}="_$_[0]" if (!defined($label{$_[0]}));
+ push(@out,"PUBLIC\t$label{$_[0]}\n");
+ }
+
sub main'label
{
if (!defined($label{$_[0]}))
@@ -385,10 +391,18 @@ sub main'set_label
$label{$_[0]}="\$${label}${_[0]}";
$label++;
}
+ if ($_[1]!=0 && $_[1]>1)
+ {
+ main'align($_[1]);
+ }
if((defined $_[2]) && ($_[2] == 1))
{
push(@out,"$label{$_[0]}::\n");
}
+ elsif ($label{$_[0]} !~ /^\$/)
+ {
+ push(@out,"$label{$_[0]}\tLABEL PTR\n");
+ }
else
{
push(@out,"$label{$_[0]}:\n");