I've imported the tool changes I made in my H compiler. Also,

Anders Magnusson contributed the lrs simulation code for a7out.
This commit is contained in:
Warren Toomey
2017-01-22 23:51:44 +10:00
parent a0ed6a9845
commit a558131773
2 changed files with 63 additions and 24 deletions
+5 -2
View File
@@ -132,6 +132,7 @@ usage() if ( @ARGV < 1 );
div => 0640323, # divide
norm => 0640444, # normalize, unsigned
lls => 0640600, # long left shift
clls => 0641600, # lls but clear AC first
als => 0640700, # AC shift
lrs => 0640500, # long right shift
lacs => 0641001, # load AC with SC
@@ -195,6 +196,7 @@ usage() if ( @ARGV < 1 );
# lam => 0777777, # (load accumulator minus)
);
# Parse all the files
print STDERR "I\n"; # like the real as
foreach my $file (@ARGV) {
@@ -342,7 +344,7 @@ sub parse_line {
print "parse_line: '$line'\n" if ($debug);
while ($line =~ s{^([A-Za-z0-9\.]+):\s*}{}) { # labels
while ($line =~ s{^([A-Za-z0-9_\.]+):\s*}{}) { # labels
process_label($1);
}
@@ -440,9 +442,10 @@ sub parse_expression {
print "\tfound >x\n" if ($debug);
$syllable = ord($1) # absolute
}
elsif ($line =~ s{^([A-Za-z\.][A-Za-z0-9\.]*)}{}) {
elsif ($line =~ s{^([A-Za-z\.][A-Za-z0-9_\.]*)}{}) {
my $sym = $1;
print "\tsym: $sym\n" if ($debug);
if (defined($Var{$sym})) {
$syllable = $Var{$sym};
printf("\tvar: %s: %#o\n", $sym, $syllable) if ($debug);