IMUL() public method

IMUL mem8
public IMUL ( ByteMemory target ) : void
target ByteMemory
return void
Esempio n. 1
0
	public void IMUL_reg32_rmreg32 ()
	{
		// IMUL ESI, EDX
		// IMUL (R32.ESI, R32.EDX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ESI, R32.EDX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xaf, 0xf2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESI, EDX' failed.");
	}
Esempio n. 2
0
	public void IMUL_rmreg16 ()
	{
		// IMUL DI
		// IMUL (R16.DI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.DI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf7, 0xef };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL DI' failed.");
	}
Esempio n. 3
0
	public void IMUL_reg16_rmreg16 ()
	{
		// IMUL BX, DX
		// IMUL (R16.BX, R16.DX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.BX, R16.DX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xaf, 0xda };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, DX' failed.");
	}
Esempio n. 4
0
	public void IMUL_reg32_mem32_imm32 ()
	{
		// IMUL ESP, [ESI], 0x53495ce
		// IMUL (R32.ESP, new DWordMemory(null, R32.ESI, null, 0), 0x53495ce)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ESP, new DWordMemory (null, R32.ESI, null, 0), 0x53495ce);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x69, 0x26, 0xce, 0x95, 0x34, 0x5 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, [ESI], 0x53495ce' failed.");
	}
Esempio n. 5
0
	public void IMUL_rmreg8 ()
	{
		// IMUL AL
		// IMUL (R8.AL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R8.AL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf6, 0xe8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AL' failed.");
	}
Esempio n. 6
0
	public void IMUL_reg32_rmreg32_imm8 ()
	{
		// IMUL ESP, ECX, 0x7
		// IMUL (R32.ESP, R32.ECX, 0x7)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ESP, R32.ECX, 0x7);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x6b, 0xe1, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, ECX, 0x7' failed.");
	}
Esempio n. 7
0
	public void IMUL_mem32 ()
	{
		// IMUL DWord [ESI*1 + 0x12345678]
		// IMUL (new DWordMemory(null, null, R32.ESI, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (new DWordMemory (null, null, R32.ESI, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf7, 0xae, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL DWord [ESI*1 + 0x12345678]' failed.");
	}
Esempio n. 8
0
	public void IMUL_reg32_imm32 ()
	{
		// IMUL ESP, 0xb4f535a
		// IMUL (R32.ESP, 0xb4f535a)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ESP, 0xb4f535a);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x69, 0xe4, 0x5a, 0x53, 0x4f, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, 0xb4f535a' failed.");
	}
Esempio n. 9
0
	public void IMUL_reg16_mem16_imm8 ()
	{
		// IMUL AX, [GS:EAX*4 + 0x12345678], 0x7
		// IMUL (R16.AX, new WordMemory(Seg.GS, null, R32.EAX, 2, 0x12345678), 0x7)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.AX, new WordMemory (Seg.GS, null, R32.EAX, 2, 0x12345678), 0x7);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x66, 0x6b, 0x4, 0x85, 0x78, 0x56, 0x34, 0x12, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [GS:EAX*4 + 0x12345678], 0x7' failed.");
	}
Esempio n. 10
0
	public void IMUL_reg16_imm16 ()
	{
		// IMUL BX, 0x916
		// IMUL (R16.BX, 0x916)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.BX, 0x916);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x69, 0xdb, 0x16, 0x9 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, 0x916' failed.");
	}
Esempio n. 11
0
	public void IMUL_reg32_imm8 ()
	{
		// IMUL EBP, 0xd
		// IMUL (R32.EBP, 0xd)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.EBP, 0xd);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x6b, 0xed, 0xd };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL EBP, 0xd' failed.");
	}
Esempio n. 12
0
	public void IMUL_reg16_imm8 ()
	{
		// IMUL BP, 0xc
		// IMUL (R16.BP, 0xc)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.BP, 0xc);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x6b, 0xed, 0xc };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BP, 0xc' failed.");
	}
Esempio n. 13
0
	public void IMUL_reg32_mem32 ()
	{
		// IMUL EDX, [ES:ECX + EBP*4]
		// IMUL (R32.EDX, new DWordMemory(Seg.ES, R32.ECX, R32.EBP, 2))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.EDX, new DWordMemory (Seg.ES, R32.ECX, R32.EBP, 2));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0xf, 0xaf, 0x14, 0xa9 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL EDX, [ES:ECX + EBP*4]' failed.");
	}
Esempio n. 14
0
	public void IMUL_reg16_mem16 ()
	{
		// IMUL AX, [EAX + 0x12345678]
		// IMUL (R16.AX, new WordMemory(null, R32.EAX, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.AX, new WordMemory (null, R32.EAX, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xaf, 0x80, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [EAX + 0x12345678]' failed.");
	}
Esempio n. 15
0
	public void IMUL_reg16_rmreg16_imm8 ()
	{
		// IMUL BX, SI, 0x8
		// IMUL (R16.BX, R16.SI, 0x8)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.BX, R16.SI, 0x8);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x6b, 0xde, 0x8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, SI, 0x8' failed.");
	}
Esempio n. 16
0
	public void IMUL_reg16_mem16_imm16 ()
	{
		// IMUL AX, [DS:EAX*2], 0xd98
		// IMUL (R16.AX, new WordMemory(Seg.DS, null, R32.EAX, 1), 0xd98)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.AX, new WordMemory (Seg.DS, null, R32.EAX, 1), 0xd98);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x66, 0x69, 0x4, 0x0, 0x98, 0xd };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [DS:EAX*2], 0xd98' failed.");
	}
Esempio n. 17
0
	public void IMUL_reg16_rmreg16_imm16 ()
	{
		// IMUL CX, SI, 0x690
		// IMUL (R16.CX, R16.SI, 0x690)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R16.CX, R16.SI, 0x690);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x69, 0xce, 0x90, 0x6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL CX, SI, 0x690' failed.");
	}
Esempio n. 18
0
	public void IMUL_reg32_mem32_imm8 ()
	{
		// IMUL ECX, [EDI*4], 0x1
		// IMUL (R32.ECX, new DWordMemory(null, null, R32.EDI, 2), 0x1)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ECX, new DWordMemory (null, null, R32.EDI, 2), 0x1);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x6b, 0xc, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ECX, [EDI*4], 0x1' failed.");
	}
Esempio n. 19
0
	public void IMUL_reg32_rmreg32_imm32 ()
	{
		// IMUL ECX, EDX, 0xc09d7fb
		// IMUL (R32.ECX, R32.EDX, 0xc09d7fb)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (R32.ECX, R32.EDX, 0xc09d7fb);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x69, 0xca, 0xfb, 0xd7, 0x9, 0xc };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ECX, EDX, 0xc09d7fb' failed.");
	}
Esempio n. 20
0
	public void IMUL_mem8 ()
	{
		// IMUL Byte [0x12345678]
		// IMUL (new ByteMemory(null, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.IMUL (new ByteMemory (null, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf6, 0x2d, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'IMUL Byte [0x12345678]' failed.");
	}