Lines Matching refs:line
22 # - can't use multiple ops per line;
107 local *line = shift;
110 if ($line =~ /^([a-z][a-z0-9]*)/i) {
113 $line = substr($line,@+[0]); $line =~ s/^\s+//;
125 } elsif ($self->{op} =~ /movq/ && $line =~ /%xmm/) {
186 local *line = shift;
189 if ($line =~ /^\$([^,]+)/) {
192 $line = substr($line,@+[0]); $line =~ s/^\s+//;
215 local *line = shift;
219 if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/) {
225 $line = substr($line,@+[0]); $line =~ s/^\s+//;
297 local *line = shift;
301 if ($line =~ /^(\*?)%(\w+)/) {
306 $line = substr($line,@+[0]); $line =~ s/^\s+//;
334 local *line = shift;
337 if ($line =~ /(^[\.\w]+)\:/) {
340 $line = substr($line,@+[0]); $line =~ s/^\s+//;
400 local *line = shift;
403 if ($line =~ /(^[^,]+)/) {
406 $line = substr($line,@+[0]); $line =~ s/^\s+//;
426 local *line = shift;
439 if ($line =~ /^\s*(\.\w+)/) {
443 $line = substr($line,@+[0]); $line =~ s/^\s+//;
446 /\.picmeup/ && do { if ($line =~ /(%r[\w]+)/i) {
448 $line=sprintf "0x%x,0x90000000",$opcode{$1};
453 && do { $globals{$line} = $prefix . $line;
454 $line = $globals{$line} if ($prefix);
457 /\.type/ && do { ($sym,$type,$narg) = split(',',$line);
469 $line =~ s/\@abi\-omnipotent/\@function/;
470 $line =~ s/\@function.*/\@function/;
473 /\.asciz/ && do { if ($line =~ /^"(.*)"$/) {
475 $line = join(",",unpack("C*",$1),0);
480 && do { $line =~ s/([_a-z][_a-z0-9]*)/$globals{$1} or $1/gei;
481 $line =~ s/\.L/$decor/g;
487 $self->{value} = $dir . "\t" . $line;
496 if ($win64 && $line =~ /([^,]+),\@function/);
505 $self->{value} = ".p2align\t" . (log($line)/log(2));
507 $current_segment=$line;
515 if ($flavour eq "macosx") { $self->{value} = ".private_extern\t$prefix$line"; }
518 $self->{value} = "$dir\t$prefix$line";
521 $line = "";
552 $line =~ s/([^,]*).*/$1/;
553 $line = ".CRT\$XCU" if ($line eq ".init");
555 $v="section $line";
556 if ($line=~/\.([px])data/) {
559 } elsif ($line=~/\.CRT\$/i) {
564 $v.="$line\tSEGMENT";
565 if ($line=~/\.([px])data/) {
568 } elsif ($line=~/\.CRT\$/i) {
573 $current_segment = $line;
577 /\.extern/ && do { $self->{value} = "EXTERN\t".$line;
583 $self->{value} .= "\t".$line;
597 /\.align/ && do { $self->{value} = "ALIGN\t".$line; last; };
600 my @arr = split(/,\s*/,$line);
616 /\.byte/ && do { my @str=split(/,\s*/,$line);
628 /\.comm/ && do { my @str=split(/,\s*/,$line);
642 $line = "";
786 while($line=<>) {
788 chomp($line);
790 $line =~ s|[#!].*$||; # get rid of asm-style comments...
791 $line =~ s|/\*.*\*/||; # ... and C-style comments...
792 $line =~ s|^\s+||; # ... and skip white spaces in beginning
798 if ($label=label->re(\$line)) { print $label->out(); }
800 if (directive->re(\$line)) {
802 } elsif ($opcode=opcode->re(\$line)) {
806 if ((ref($asm) eq 'CODE') && scalar(@bytes=&$asm($line))) {
814 if ($arg=register->re(\$line)) { opcode->size($arg->size()); }
815 elsif ($arg=const->re(\$line)) { }
816 elsif ($arg=ea->re(\$line)) { }
817 elsif ($arg=expr->re(\$line)) { }
822 last ARGUMENT if ($line !~ /^,/);
824 $line =~ s/^,\s*//;
852 print $line,"\n";