SHRD() public method

SHRD mem32,reg32,imm8
public SHRD ( DWordMemory target, R32Type source, Byte value ) : void
target DWordMemory
source R32Type
value Byte
return void
Example #1
0
	public void SHRD_rmreg32_reg32_imm8 ()
	{
		// SHRD EBX, ECX, 0x7
		// SHRD (R32.EBX, R32.ECX, 0x7)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.SHRD (R32.EBX, R32.ECX, 0x7);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xac, 0xcb, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'SHRD EBX, ECX, 0x7' failed.");
	}
Example #2
0
	public void SHRD_mem32_reg32_imm8 ()
	{
		// SHRD [FS:0x12345678], EBP, 0x4
		// SHRD (new DWordMemory(Seg.FS, null, null, 0, 0x12345678), R32.EBP, 0x4)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.SHRD (new DWordMemory (Seg.FS, null, null, 0, 0x12345678), R32.EBP, 0x4);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x64, 0xf, 0xac, 0x2d, 0x78, 0x56, 0x34, 0x12, 0x4 };
		Assert.IsTrue (CompareData (memoryStream, target), "'SHRD [FS:0x12345678], EBP, 0x4' failed.");
	}
Example #3
0
	public void SHRD_rmreg16_reg16_imm8 ()
	{
		// SHRD SI, DX, 0x6
		// SHRD (R16.SI, R16.DX, 0x6)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.SHRD (R16.SI, R16.DX, 0x6);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xac, 0xd6, 0x6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'SHRD SI, DX, 0x6' failed.");
	}
Example #4
0
	public void SHRD_mem16_reg16_imm8 ()
	{
		// SHRD [ESI*4], BP, 0xb
		// SHRD (new WordMemory(null, null, R32.ESI, 2), R16.BP, 0xb)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.SHRD (new WordMemory (null, null, R32.ESI, 2), R16.BP, 0xb);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xac, 0x2c, 0xb5, 0x0, 0x0, 0x0, 0x0, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'SHRD [ESI*4], BP, 0xb' failed.");
	}