1
0
mirror of https://github.com/DoctorWkt/pdp7-unix.git synced 2026-01-24 19:33:02 +00:00

Fixed up the llss code in a7out, so now the octal printing code in ds.s works.

This commit is contained in:
Warren Toomey 2016-03-04 08:31:15 +10:00
parent ffbc0b1dab
commit 2261144ea2

View File

@ -485,21 +485,24 @@ sub eae {
$PC++;
return;
}
if ( $maskedinstr == 0660700 ) { # alss: long left shift, signed
# We don't fill the lsb with LINK yet
if ( $maskedinstr == 0660700 ) { # alss: AC left shift, signed
dprintf( "alss AC %06o step %d\n", $AC, $step );
$AC = ( $AC << $step ) & MAXINT;
$LINK = ( $AC << 1 ) & LINKMASK;
$PC++;
return;
}
if ( $maskedinstr == 0660600 ) { # llss: long left shift, signed
# We don't use MQ yet!
dprintf( "llss AC %06o step %d\n", $AC, $step );
$AC = ( $AC << $step ) & MAXINT;
foreach my $i (1 .. $step) {
my $MQmsb= ($MQ & SIGN) ? 1 : 0;
$AC= (($AC << 1) | $MQmsb) & MAXINT;
$MQ= (($MQ << 1) | (($LINK) ? 1 : 0)) & MAXINT;
}
$PC++;
return;
}
if ( $maskedinstr == 0640700 ) { # als: long left shift
if ( $maskedinstr == 0640700 ) { # als: AC left shift
dprintf( "als AC %06o step %d\n", $AC, $step );
$AC = ( $AC << $step ) & MAXINT;
$PC++;