XADD() public method

XADD mem8,reg8
public XADD ( ByteMemory target, R8Type source ) : void
target ByteMemory
source R8Type
return void
Esempio n. 1
0
	public void XADD_rmreg32_reg32 ()
	{
		// XADD ESI, EBP
		// XADD (R32.ESI, R32.EBP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XADD (R32.ESI, R32.EBP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xc1, 0xee };
		Assert.IsTrue (CompareData (memoryStream, target), "'XADD ESI, EBP' failed.");
	}
Esempio n. 2
0
	public void XADD_rmreg8_reg8 ()
	{
		// XADD AL, CH
		// XADD (R8.AL, R8.CH)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XADD (R8.AL, R8.CH);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xc0, 0xe8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XADD AL, CH' failed.");
	}
Esempio n. 3
0
	public void XADD_mem16_reg16 ()
	{
		// XADD [ESI], BP
		// XADD (new WordMemory(null, R32.ESI, null, 0), R16.BP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XADD (new WordMemory (null, R32.ESI, null, 0), R16.BP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xc1, 0x2e };
		Assert.IsTrue (CompareData (memoryStream, target), "'XADD [ESI], BP' failed.");
	}
Esempio n. 4
0
	public void XADD_mem32_reg32 ()
	{
		// XADD [DS:0x12345678], ECX
		// XADD (new DWordMemory(Seg.DS, null, null, 0, 0x12345678), R32.ECX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XADD (new DWordMemory (Seg.DS, null, null, 0, 0x12345678), R32.ECX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0xf, 0xc1, 0xd, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XADD [DS:0x12345678], ECX' failed.");
	}
Esempio n. 5
0
	public void XADD_mem8_reg8 ()
	{
		// XADD [ES:EAX*2], AL
		// XADD (new ByteMemory(Seg.ES, null, R32.EAX, 1), R8.AL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XADD (new ByteMemory (Seg.ES, null, R32.EAX, 1), R8.AL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0xf, 0xc0, 0x4, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XADD [ES:EAX*2], AL' failed.");
	}