diff --git a/tools/a7out b/tools/a7out index ee92b2f..4835c1b 100755 --- a/tools/a7out +++ b/tools/a7out @@ -654,9 +654,11 @@ sub eae { $PC++; return; } - if ( $maskedinstr == 0660600 ) { # llss: long left shift, signed + if ( ($maskedinstr == 0660600) || + ($maskedinstr == 0661600) ) { # llss: long left shift, signed # Set the link to be the AC sign bit $LINK= ($AC & SIGN) ? LINKMASK : 0; + $AC = 0 if ($maskedinstr & 01000); # PLB: ecla llss seen in adm,apr,bc,ds,sh dprintf( "llss step %d\n", $step ); foreach my $i ( 1 .. $step ) { my $MQmsb = ( $MQ & SIGN ) ? 1 : 0;