Fix rotation of 8 being interpreted as 0

This commit is contained in:
pjht 2022-11-18 16:03:11 -06:00
parent 6e61c5402d
commit 8c0b923455

View File

@ -841,7 +841,11 @@ impl<T> Disasm<'_, T> {
let rotation = if ins_word[10] {
Rotation::Register(ins_word[4..7].load_be::<u8>())
} else {
Rotation::Immediate(ins_word[4..7].load_be::<u8>())
let mut rotation = ins_word[4..7].load_be::<u8>();
if rotation == 0 {
rotation = 8;
}
Rotation::Immediate(rotation)
};
(op, dst, rotation)
};