use crate::*;
const DATA_ADDR: u64 = 0x2000;
#[test]
fn test_kmovb_k1_k2() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k2_k3() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k3_k4() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k4_k5() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k5_k6() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k6_k7() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k7_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x90, 0xf9, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k1_eax() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x92, 0xc8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_eax_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x93, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_k2_ebx() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x92, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovb_ecx_k3() {
let mut emu = emu64();
let code = [
0xc5, 0xf9, 0x93, 0xcb, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k0_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k1_k2() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k2_k3() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k3_k4() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k4_k5() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k5_k6() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k6_k7() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k7_k0() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k1_eax() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x92, 0xc8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_eax_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x93, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_k0_ebx() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x92, 0xc3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_edx_k7() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x93, 0xd7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k0_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k1_k2() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k2_k3() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k3_k4() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k4_k5() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k5_k6() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k6_k7() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k7_k0() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k1_eax() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x92, 0xc8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_eax_k1() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x93, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_k0_esi() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x92, 0xc6, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_edi_k7() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x93, 0xff, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k0_k1() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k1_k2() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k2_k3() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k3_k4() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k4_k5() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k5_k6() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k6_k7() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k7_k0() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x90, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k1_rax() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x92, 0xc8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_rax_k1() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x93, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_k0_rbx() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x92, 0xc3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovq_rdx_k7() {
let mut emu = emu64();
let code = [
0xc4, 0xe1, 0xfb, 0x93, 0xd7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovw_chain() {
let mut emu = emu64();
let code = [
0xc5, 0xf8, 0x90, 0xd1, 0xc5, 0xf8, 0x90, 0xda, 0xc5, 0xf8, 0x90, 0xe3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_kmovd_chain_all() {
let mut emu = emu64();
let code = [
0xc5, 0xfb, 0x90, 0xc8, 0xc5, 0xfb, 0x90, 0xd1, 0xc5, 0xfb, 0x90, 0xda, 0xc5, 0xfb, 0x90, 0xe3, 0xc5, 0xfb, 0x90, 0xec, 0xc5, 0xfb, 0x90, 0xf5, 0xc5, 0xfb, 0x90, 0xfe, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}