Skip to main content

juicebox_asm/insn/
movsx.rs

1// SPDX-License-Identifier: MIT
2//
3// Copyright (c) 2026, Johannes Stoelp <dev@memzero.de>
4
5use super::Movsx;
6use crate::{Asm, Mem16, Mem32, Mem8, Reg32, Reg64};
7
8// -- MOVSX : reg mem
9
10impl Movsx<Reg32, Mem8> for Asm {
11    fn movsx(&mut self, op1: Reg32, op2: Mem8) {
12        self.encode_rm(&[0x0f, 0xbe], op1, op2);
13    }
14}
15
16impl Movsx<Reg32, Mem16> for Asm {
17    fn movsx(&mut self, op1: Reg32, op2: Mem16) {
18        self.encode_rm(&[0x0f, 0xbf], op1, op2);
19    }
20}
21
22impl Movsx<Reg64, Mem32> for Asm {
23    fn movsx(&mut self, op1: Reg64, op2: Mem32) {
24        self.encode_rm(&[0x63], op1, op2);
25    }
26}