CMOVE() public method

CMOVE reg16,rmreg16
public CMOVE ( R16Type target, R16Type source ) : void
target R16Type
source R16Type
return void
Example #1
0
	public void CMOVE_reg32_rmreg32 ()
	{
		// CMOVE EBX, EAX
		// CMOVE (R32.EBX, R32.EAX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMOVE (R32.EBX, R32.EAX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x44, 0xd8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMOVE EBX, EAX' failed.");
	}
Example #2
0
	public void CMOVE_reg32_mem32 ()
	{
		// CMOVE ESI, [EDI + ECX*4 + 0x12345678]
		// CMOVE (R32.ESI, new DWordMemory(null, R32.EDI, R32.ECX, 2, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMOVE (R32.ESI, new DWordMemory (null, R32.EDI, R32.ECX, 2, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x44, 0xb4, 0x8f, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMOVE ESI, [EDI + ECX*4 + 0x12345678]' failed.");
	}
Example #3
0
	public void CMOVE_reg16_rmreg16 ()
	{
		// CMOVE AX, AX
		// CMOVE (R16.AX, R16.AX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMOVE (R16.AX, R16.AX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0x44, 0xc0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMOVE AX, AX' failed.");
	}
Example #4
0
	public void CMOVE_reg16_mem16 ()
	{
		// CMOVE BP, [SS:0x12345678]
		// CMOVE (R16.BP, new WordMemory(Seg.SS, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMOVE (R16.BP, new WordMemory (Seg.SS, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x36, 0x66, 0xf, 0x44, 0x2d, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMOVE BP, [SS:0x12345678]' failed.");
	}