aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2021-09-14 15:57:17 +0200
committeriximeow <git@iximeow.net>2021-09-14 20:01:22 -0700
commit7fee2c5dafb84ee93ddb6a8f582e99d445c82677 (patch)
treecfcf6e14afafb64ea3816be717370e217d4ae1bf
parent3552a2d8df03f9214a351ad7901281c76ef503bf (diff)
Fix display of post-index writeback operands
-rw-r--r--src/armv7.rs5
-rw-r--r--test/armv7/thumb.rs4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/armv7.rs b/src/armv7.rs
index 60c09d0..64c9a4d 100644
--- a/src/armv7.rs
+++ b/src/armv7.rs
@@ -1728,10 +1728,7 @@ fn format_reg_imm_mem<T: fmt::Write, Y: YaxColors>(f: &mut T, Rn: Reg, imm: u16,
(true, false) => {
write!(f, "[{}, {}{:#x}]", reg_name_colorize(Rn, colors), op, imm)
},
- (false, true) => {
- unreachable!("I don't know how to render an operand with postindex and wback==true, this seems like it should be LDRT");
- },
- (false, false) => {
+ (false, _) => {
write!(f, "[{}], {}{:#x}", reg_name_colorize(Rn, colors), op, imm)
}
}
diff --git a/test/armv7/thumb.rs b/test/armv7/thumb.rs
index 4c5c4a1..fafc65c 100644
--- a/test/armv7/thumb.rs
+++ b/test/armv7/thumb.rs
@@ -3579,6 +3579,10 @@ fn test_decode_str_32b_cases() {
&[0xe3, 0xe9, 0x7e, 0x5a],
"strd r5, r10, [r3, 0x1f8]!"
);
+ test_display(
+ &[0x41, 0xf8, 0x04, 0x2b],
+ "str.w r2, [r1], 0x4"
+ );
}
#[test]