Skip to main content

juicebox_asm/insn/
sub.rs

1// SPDX-License-Identifier: MIT
2//
3// Copyright (c) 2024, Johannes Stoelp <dev@memzero.de>
4
5use super::Sub;
6use crate::{Asm, Imm8, Mem8, Reg32, Reg64};
7
8impl Sub<Reg32, Reg32> for Asm {
9    fn sub(&mut self, op1: Reg32, op2: Reg32) {
10        self.encode_rr_mr(&[0x29], op1, op2);
11    }
12}
13
14impl Sub<Reg64, Reg64> for Asm {
15    fn sub(&mut self, op1: Reg64, op2: Reg64) {
16        self.encode_rr_mr(&[0x29], op1, op2);
17    }
18}
19
20impl Sub<Mem8, Imm8> for Asm {
21    fn sub(&mut self, op1: Mem8, op2: Imm8) {
22        self.encode_mi(0x80, 5, op1, op2);
23    }
24}