diff --git a/src/disas.rs b/src/disas.rs index 61a9b39..3758b56 100644 --- a/src/disas.rs +++ b/src/disas.rs @@ -841,7 +841,11 @@ impl Disasm<'_, T> { let rotation = if ins_word[10] { Rotation::Register(ins_word[4..7].load_be::()) } else { - Rotation::Immediate(ins_word[4..7].load_be::()) + let mut rotation = ins_word[4..7].load_be::(); + if rotation == 0 { + rotation = 8; + } + Rotation::Immediate(rotation) }; (op, dst, rotation) };