X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=ROM%2Fmakeasm.pl;h=dde0d0d648402931e335641642b40086365f5703;hb=5c41385d2775a8b1bf1fa53eb38f0c3241ab4454;hp=e2b43ae6719d7d96030a6b8e219ac2323591764a;hpb=5fca0afdac36b9e7b7bc54edad8c417e1d2e5dc7;p=uccvend-snackrom.git diff --git a/ROM/makeasm.pl b/ROM/makeasm.pl index e2b43ae..dde0d0d 100755 --- a/ROM/makeasm.pl +++ b/ROM/makeasm.pl @@ -77,7 +77,7 @@ my %onewitharg = ('63' => "COM\t\$%s,X", 'ED' => "STAD\t\$%s,X" ); -my %onewithword = ('FF' => "STX\t\$%s%s"); +my %onewithword = ('FF' => "STX\t%s"); LINE: while (<>) { @@ -136,7 +136,8 @@ sub instruction { if (defined $onewitharg{$instruction}) { $thing = substr($line,8,2); - printf "\t$onewitharg{$instruction}", $thing; + + printf "\t$onewitharg{$instruction}", $thing; $line =~ /$onewitharg{$instruction} [0-9A-F][0-9A-F](.*)$/i; print "\t;$1\n"; return; @@ -145,10 +146,14 @@ sub instruction { if (defined $onewithword{$instruction}) { $thing = substr($line,8,2); $thing2 = substr($line,11,2); - printf "\t$onewithword{$instruction}", $thing, $thing2; + if (!($thing2 =~ /\s+/)) { + $curraddr = substr($line,0,4); + printf "FOO%s\tEQU\t\$%s%s\n", $curraddr,$thing,$thing2; + printf "\t$onewithword{$instruction}", ">FOO$curraddr"; $line =~ /$onewithword{$instruction} [0-9A-F][0-9A-F][0-9A-F][0-9A-F](.*)$/i; print "\t;$1\n"; return; + } } if ($line =~ /^([A-F0-9]{4}) ((([A-F0-9]{2}) )*[A-F0-9]{2})/) {