use crate::tests::helpers;
use crate::*;
#[test]
// this tests the emu.call32()
pub fn call32() {
helpers::setup();
let mut emu = emu32();
let opcodes: Vec<u8> = vec![
//TODO: test it with 7 parameters
0x55, 0x89, 0xe5, 0x83, 0xec, 0x50, 0xb8, 0x37, 0x13, 0x00, 0x00, 0x83, 0xf0, 0x7b, 0xc9,
0xc3,
];
emu.set_verbose(3);
emu.linux = true; // otherwise I would need to set map files.
emu.load_code_bytes(&opcodes);
emu.regs_mut().rax = 0;
let eax = emu.call32(emu.regs().rip, &[]).unwrap();
assert_eq!(emu.regs().get_eax() as u32, eax);
assert_eq!(eax, 0x134c);
assert_eq!(emu.regs().rax, 0x134c);
}