Ragge sent in another patch to a7out for the lrs instruction.
This commit is contained in:
+4
-2
@@ -680,10 +680,12 @@ sub eae {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
# lrs: long right shift
|
# lrs: long right shift
|
||||||
if ( ($maskedinstr == 0640500) || ($maskedinstr == 0641500) ) {
|
if (($maskedinstr & 0766777) == 0640500) {
|
||||||
dprintf( "lrs step %d\n", $step );
|
dprintf( "lrs step %d\n", $step );
|
||||||
# Clear AC if the 01000 bit is set
|
# Clear AC if the 01000 bit is set
|
||||||
$AC=0 if ($maskedinstr == 0641500);
|
$AC=0 if ($maskedinstr & 01000);
|
||||||
|
# Clear MQ if the 010000 bit is set
|
||||||
|
$MQ=0 if ($maskedinstr & 010000);
|
||||||
foreach my $i ( 1 .. $step ) {
|
foreach my $i ( 1 .. $step ) {
|
||||||
my $MQmsb = ( $AC & 1 ) ? 0400000 : 0;
|
my $MQmsb = ( $AC & 1 ) ? 0400000 : 0;
|
||||||
$AC = ( ( $AC >> 1 ) | ( ($LINK) ? 0400000 : 0 ) ) & MAXINT;
|
$AC = ( ( $AC >> 1 ) | ( ($LINK) ? 0400000 : 0 ) ) & MAXINT;
|
||||||
|
|||||||
Reference in New Issue
Block a user