Skip to main content

juicebox_asm/insn/
test.rs

1// SPDX-License-Identifier: MIT
2//
3// Copyright (c) 2023, Johannes Stoelp <dev@memzero.de>
4
5use super::Test;
6use crate::{Asm, Imm16, Mem16, Reg16, Reg32, Reg64, Reg8};
7
8impl Test<Reg8, Reg8> for Asm {
9    fn test(&mut self, op1: Reg8, op2: Reg8) {
10        self.encode_rr_mr(&[0x84], op1, op2);
11    }
12}
13
14impl Test<Reg16, Reg16> for Asm {
15    fn test(&mut self, op1: Reg16, op2: Reg16) {
16        self.encode_rr_mr(&[0x85], op1, op2);
17    }
18}
19
20impl Test<Reg32, Reg32> for Asm {
21    fn test(&mut self, op1: Reg32, op2: Reg32) {
22        self.encode_rr_mr(&[0x85], op1, op2);
23    }
24}
25
26impl Test<Reg64, Reg64> for Asm {
27    fn test(&mut self, op1: Reg64, op2: Reg64) {
28        self.encode_rr_mr(&[0x85], op1, op2);
29    }
30}
31
32impl Test<Mem16, Imm16> for Asm {
33    fn test(&mut self, op1: Mem16, op2: Imm16) {
34        self.encode_mi(0xf7, 0, op1, op2);
35    }
36}