+
+# Process one instruction
+# Usage: instruction line
+sub instruction {
+ my ($line) = @_;
+ print ";$line";
+
+ $instruction = substr($line,5,2);
+
+ if (defined $transtable{$instruction}) {
+ print "\t$transtable{$instruction}";
+ $line =~ /$transtable{$instruction}(.*)$/i;
+ print "$1\n";
+ return;
+ }
+
+ # FIXME: parse instruction
+ #if (defined($transtable{$instruction})) {
+ # print "\t$transtable{$instruction}";
+# if (defined($comment)) { print "; $comment"; }
+# print "\n";
+# return;
+# }
+
+# chomp;
+# $l = length;
+# if ($l == 42) {
+# print "$_\n";
+# next;
+# } elsif ($l != 33) {
+# print "$_\n";
+# next;
+# } else {
+#
+# $addr = substr($_,0,4);
+# $inst = substr($_,27,3);
+# $val = substr($_,31,2);
+#
+# #print "$val\n";
+# $daddr = (hex $addr) + 2 + convert($val);
+#
+#
+# if (defined $commands{$inst}) {
+# print "$_\t\t;";
+# printf "%4X", $daddr;
+# #print " $addr $inst $val\n";
+# print "\n";
+# }
+# }
+
+ if ($line =~ /^([A-F0-9]{4}) ((([A-F0-9]{2}) )*[A-F0-9]{2})/) {
+ @_=split(' ',$2);
+ print "\tFCB\t\$".join(', $',@_)."\n";
+ }
+}