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} =~ /mov[dq]/ && $line =~ /%xmm/) {
186 local *line = shift;
189 if ($line =~ /^\$([^,]+)/) {
192 $line = substr($line,@+[0]); $line =~ s/^\s+//;
219 local *line = shift;
223 if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/) {
229 $line = substr($line,@+[0]); $line =~ s/^\s+//;
319 local *line = shift;
323 if ($line =~ /^(\*?)%(\w+)/) {
328 $line = substr($line,@+[0]); $line =~ s/^\s+//;
356 local *line = shift;
359 if ($line =~ /(^[\.\w]+)\:/) {
362 $line = substr($line,@+[0]); $line =~ s/^\s+//;
422 local *line = shift;
425 if ($line =~ /(^[^,]+)/) {
428 $line = substr($line,@+[0]); $line =~ s/^\s+//;
448 local *line = shift;
461 if ($line =~ /^\s*(\.\w+)/) {
465 $line = substr($line,@+[0]); $line =~ s/^\s+//;
468 /\.picmeup/ && do { if ($line =~ /(%r[\w]+)/i) {
470 $line=sprintf "0x%x,0x90000000",$opcode{$1};
475 && do { $globals{$line} = $prefix . $line;
476 $line = $globals{$line} if ($prefix);
479 /\.type/ && do { ($sym,$type,$narg) = split(',',$line);
491 $line =~ s/\@abi\-omnipotent/\@function/;
492 $line =~ s/\@function.*/\@function/;
495 /\.asciz/ && do { if ($line =~ /^"(.*)"$/) {
497 $line = join(",",unpack("C*",$1),0);
502 && do { $line =~ s/([_a-z][_a-z0-9]*)/$globals{$1} or $1/gei;
503 $line =~ s/\.L/$decor/g;
509 $self->{value} = $dir . "\t" . $line;
518 if ($win64 && $line =~ /([^,]+),\@function/);
527 $self->{value} = ".p2align\t" . (log($line)/log(2));
529 $current_segment=$line;
537 if ($flavour eq "macosx") { $self->{value} = ".private_extern\t$prefix$line"; }
540 $self->{value} = "$dir\t$prefix$line";
543 $line = "";
574 $line =~ s/([^,]*).*/$1/;
575 $line = ".CRT\$XCU" if ($line eq ".init");
577 $v="section $line";
578 if ($line=~/\.([px])data/) {
581 } elsif ($line=~/\.CRT\$/i) {
586 $v.="$line\tSEGMENT";
587 if ($line=~/\.([px])data/) {
590 } elsif ($line=~/\.CRT\$/i) {
595 $current_segment = $line;
599 /\.extern/ && do { $self->{value} = "EXTERN\t".$line;
605 $self->{value} .= "\t".$line;
619 /\.align/ && do { $self->{value} = "ALIGN\t".$line; last; };
622 my @arr = split(/,\s*/,$line);
638 /\.byte/ && do { my @str=split(/,\s*/,$line);
650 /\.comm/ && do { my @str=split(/,\s*/,$line);
664 $line = "";
862 while($line=<>) {
864 chomp($line);
866 $line =~ s|[#!].*$||; # get rid of asm-style comments...
867 $line =~ s|/\*.*\*/||; # ... and C-style comments...
868 $line =~ s|^\s+||; # ... and skip white spaces in beginning
869 $line =~ s|\s+$||; # ... and at the end
875 if ($label=label->re(\$line)) { print $label->out(); }
877 if (directive->re(\$line)) {
879 } elsif ($opcode=opcode->re(\$line)) {
883 if ((ref($asm) eq 'CODE') && scalar(@bytes=&$asm($line))) {
891 if ($arg=register->re(\$line)) { opcode->size($arg->size()); }
892 elsif ($arg=const->re(\$line)) { }
893 elsif ($arg=ea->re(\$line)) { }
894 elsif ($arg=expr->re(\$line)) { }
899 last ARGUMENT if ($line !~ /^,/);
901 $line =~ s/^,\s*//;
931 print $line,"\n";