diff options
Diffstat (limited to 'f65/asm2fake65.pl')
| -rwxr-xr-x | f65/asm2fake65.pl | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/f65/asm2fake65.pl b/f65/asm2fake65.pl deleted file mode 100755 index 78031a7..0000000 --- a/f65/asm2fake65.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w - -LINE: while(<>) { - chomp; - - next if /^\s*$/; - next if /^\s+\.byte/; - next if /^\s+\.setcpu/; - next if /^\s+;/; - - # join lone label: with next line - if(/^[a-zA-Z0-9_]+:\s*$/) { - $_ .= <>; - redo LINE; - } - - # comment-only lines: - if(/^;\s+(.*)/) { - print "/* $1 */\n"; - next; - } - - if(s/(^[a-zA-Z0-9_]+):?//) { - my $label = $1; - if(/:=\s*\$([0-9A-F]{4})/) { - print "u16 $label = 0x$1;\n"; - next; - } elsif(/\.byte/) { - /; ([0-9A-F]{4})\s/; - print "u16 $label = 0x$1;\n"; - next; - } else { - print "$label:\n"; - } - } - - s/\s+;.*//; - s/^\s*([a-z]{3})\s*//; - my $mnem = $1; - s/\s*$//; - my $operand = $_; - my $arg = ""; - - print "\t"; - - if(!$operand) { - $mnem .= "_a" if $mnem =~ /asl|lsr|rol|ror/; - print $mnem . "();\n"; - next; - } - - $operand =~ s,\$,0x,; - $operand =~ s,;.*,,; - - #print "mnem '$mnem', operand '$operand'\n"; - if($operand =~ /#(.*)/) { - print $mnem . "_i(" . $1 . ");\n"; - next; - } - - if($operand =~ /\(([^)]+)\),y/) { - print $mnem . "_ind_y(" . $1 . ");\n"; - next; - } - - if($operand =~ /(.+),([xy])/) { - print $mnem . "_abs_" . $2 . "(" . $1 . ");\n"; - next; - } - - print $mnem . "(" . $operand . ");\n"; -} |
