diff options
| author | iximeow <me@iximeow.net> | 2026-09-11 15:57:22 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-09-11 16:18:53 +0000 |
| commit | a00a54539d9124d8b376ee9cbeab355d99c9d163 (patch) | |
| tree | 85ee14db687c5590c2bbea8eed1589f4088f969c /src/armv7/display.rs | |
| parent | 7e70f851a481d36669e64edcd61ce7df9d578468 (diff) | |
fix {s,u}xt{h,b}[16] using an immediate to describe their rotates
Diffstat (limited to 'src/armv7/display.rs')
| -rw-r--r-- | src/armv7/display.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/armv7/display.rs b/src/armv7/display.rs index 1398ce6..2d2a77c 100644 --- a/src/armv7/display.rs +++ b/src/armv7/display.rs @@ -357,6 +357,13 @@ impl<T: DisplaySink> crate::armv7::OperandVisitor for DisplayingOperandVisitor<' Ok(()) } + fn visit_rotate(&mut self, amt: u8) -> Result<Self::Ok, Self::Error> { + self.emit_shift_type(ShiftStyle::ROR)?; + self.f.write_char(' ')?; + self.f.write_prefixed_u16(amt as u16)?; + Ok(()) + } + fn visit_apsr(&mut self) -> Result<Self::Ok, Self::Error> { self.f.span_start_register(); self.f.write_fixed_size("apsr")?; @@ -1437,6 +1444,9 @@ impl super::Operand { Operand::StatusRegMask(mask) => { visitor.visit_status_reg_mask(mask) } + Operand::Ror(amt) => { + visitor.visit_rotate(amt) + } Operand::APSR => { visitor.visit_apsr() }, |
