diff options
| author | iximeow <me@iximeow.net> | 2026-08-02 23:43:23 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-08-02 23:43:23 +0000 |
| commit | 4281309f580130c3642d50b79034f0428b662c55 (patch) | |
| tree | 6375b8dbe6f628afedc4605f83d0d9f78949e70a /src | |
| parent | b89b56f1e92b9559ccd11929e575db3ea2b71ced (diff) | |
fix swapped rfe{ia,db} and srs{ia,db}
Diffstat (limited to 'src')
| -rw-r--r-- | src/armv7/thumb.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/armv7/thumb.rs b/src/armv7/thumb.rs index 18b4526..ab3f94b 100644 --- a/src/armv7/thumb.rs +++ b/src/armv7/thumb.rs @@ -613,7 +613,7 @@ pub fn decode_into<T: Reader<<ARMv7 as Arch>::Address, <ARMv7 as Arch>::Word>>(d 0b00 => { // `SRS (Thumb)` (`B9-1990`) // v6T2 - inst.opcode = Opcode::SRS(false, true); // `srsdb` + inst.opcode = Opcode::SRS(true, false); // `srsdb` inst.operands = [ Operand::RegWBack(Reg::from_u8(13), w), Operand::Imm12(lower2[0..4].load::<u16>()), // #<mode> ? what's the syntax here? #<the literal>? @@ -710,7 +710,7 @@ pub fn decode_into<T: Reader<<ARMv7 as Arch>::Address, <ARMv7 as Arch>::Word>>(d if rn == 15 { decoder.unpredictable()?; } - inst.opcode = Opcode::RFE(false, true); + inst.opcode = Opcode::RFE(true, false); inst.operands = [ Operand::RegWBack(Reg::from_u8(rn), w), Operand::Nothing, @@ -775,7 +775,7 @@ pub fn decode_into<T: Reader<<ARMv7 as Arch>::Address, <ARMv7 as Arch>::Word>>(d if rn == 15 { decoder.unpredictable()?; } - inst.opcode = Opcode::RFE(true, false); + inst.opcode = Opcode::RFE(false, true); inst.operands = [ Operand::RegWBack(Reg::from_u8(rn), w), Operand::Nothing, |
