diff options
Diffstat (limited to 'src/decode.rs')
| -rw-r--r-- | src/decode.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/decode.rs b/src/decode.rs index 4258a6f..d2e8a80 100644 --- a/src/decode.rs +++ b/src/decode.rs @@ -57,7 +57,9 @@ impl Instruction { #[inline] pub fn imm_s(self) -> DWord { - (self.0 as i32 as i64 >> (25 - 5) & (0x7f << 5)) as DWord | (self.0 >> 7 & 0b11111) as DWord + let imm_11_5 = (self.0 as i32 as i64 >> 25 << 5) as DWord; + let imm_4_0 = (self.0 >> 7 & 0x1f) as DWord; + imm_11_5 | imm_4_0 } #[inline] |
