CMP() public method

CMP mem8,imm8
public CMP ( ByteMemory target, Byte source ) : void
target ByteMemory
source Byte
return void
Esempio n. 1
0
	public void CMP_rmreg16_imm16 ()
	{
		// CMP AX, 0xa82
		// CMP (R16.AX, 0xa82)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R16.AX, 0xa82);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x3d, 0x82, 0xa };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP AX, 0xa82' failed.");
	}
Esempio n. 2
0
	public void CMP_rmreg32_reg32 ()
	{
		// CMP EBP, EBP
		// CMP (R32.EBP, R32.EBP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R32.EBP, R32.EBP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x39, 0xed };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP EBP, EBP' failed.");
	}
Esempio n. 3
0
	public void CMP_rmreg8_imm8 ()
	{
		// CMP CH, 0x3
		// CMP (R8.CH, 0x3)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R8.CH, 0x3);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x80, 0xfd, 0x3 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP CH, 0x3' failed.");
	}
Esempio n. 4
0
	public void CMP_rmreg8_reg8 ()
	{
		// CMP CH, CL
		// CMP (R8.CH, R8.CL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R8.CH, R8.CL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x38, 0xcd };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP CH, CL' failed.");
	}
Esempio n. 5
0
	public void CMP_rmreg16_reg16 ()
	{
		// CMP SI, AX
		// CMP (R16.SI, R16.AX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R16.SI, R16.AX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x39, 0xc6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP SI, AX' failed.");
	}
Esempio n. 6
0
	public void CMP_mem16_reg16 ()
	{
		// CMP [0x12345678], DI
		// CMP (new WordMemory(null, null, null, 0, 0x12345678), R16.DI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new WordMemory (null, null, null, 0, 0x12345678), R16.DI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x39, 0x3d, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP [0x12345678], DI' failed.");
	}
Esempio n. 7
0
	public void CMP_mem32_imm8 ()
	{
		// CMP DWord [EDX + EBP*1 + 0x12345678], 0xb
		// CMP (new DWordMemory(null, R32.EDX, R32.EBP, 0, 0x12345678), 0xb)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new DWordMemory (null, R32.EDX, R32.EBP, 0, 0x12345678), 0xb);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x83, 0xbc, 0x2a, 0x78, 0x56, 0x34, 0x12, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP DWord [EDX + EBP*1 + 0x12345678], 0xb' failed.");
	}
Esempio n. 8
0
	public void CMP_mem16_imm16 ()
	{
		// CMP Word [ES:EBP], 0x8ad
		// CMP (new WordMemory(Seg.ES, R32.EBP, null, 0), 0x8ad)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new WordMemory (Seg.ES, R32.EBP, null, 0), 0x8ad);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0x66, 0x81, 0x7d, 0x0, 0xad, 0x8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP Word [ES:EBP], 0x8ad' failed.");
	}
Esempio n. 9
0
	public void CMP_mem32_imm32 ()
	{
		// CMP DWord [ES:0x12345678], 0x6abbff6
		// CMP (new DWordMemory(Seg.ES, null, null, 0, 0x12345678), 0x6abbff6)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new DWordMemory (Seg.ES, null, null, 0, 0x12345678), 0x6abbff6);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0x81, 0x3d, 0x78, 0x56, 0x34, 0x12, 0xf6, 0xbf, 0xab, 0x6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP DWord [ES:0x12345678], 0x6abbff6' failed.");
	}
Esempio n. 10
0
	public void CMP_reg32_mem32 ()
	{
		// CMP EDI, [ESI*8]
		// CMP (R32.EDI, new DWordMemory(null, null, R32.ESI, 3))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R32.EDI, new DWordMemory (null, null, R32.ESI, 3));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3b, 0x3c, 0xf5, 0x0, 0x0, 0x0, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP EDI, [ESI*8]' failed.");
	}
Esempio n. 11
0
	public void CMP_mem8_imm8 ()
	{
		// CMP Byte [DS:0x12345678], 0x7
		// CMP (new ByteMemory(Seg.DS, null, null, 0, 0x12345678), 0x7)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new ByteMemory (Seg.DS, null, null, 0, 0x12345678), 0x7);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x80, 0x3d, 0x78, 0x56, 0x34, 0x12, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP Byte [DS:0x12345678], 0x7' failed.");
	}
Esempio n. 12
0
	public void CMP_reg16_mem16 ()
	{
		// CMP SI, [0x12345678]
		// CMP (R16.SI, new WordMemory(null, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R16.SI, new WordMemory (null, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x3b, 0x35, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP SI, [0x12345678]' failed.");
	}
Esempio n. 13
0
	public void CMP_reg8_mem8 ()
	{
		// CMP BL, [DS:0x12345678]
		// CMP (R8.BL, new ByteMemory(Seg.DS, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R8.BL, new ByteMemory (Seg.DS, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x3a, 0x1d, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP BL, [DS:0x12345678]' failed.");
	}
Esempio n. 14
0
	public void CMP_mem32_reg32 ()
	{
		// CMP [ECX], EDX
		// CMP (new DWordMemory(null, R32.ECX, null, 0), R32.EDX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new DWordMemory (null, R32.ECX, null, 0), R32.EDX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x39, 0x11 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP [ECX], EDX' failed.");
	}
Esempio n. 15
0
	public void CMP_rmreg32_imm32 ()
	{
		// CMP EBP, 0xea3f51f
		// CMP (R32.EBP, 0xea3f51f)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R32.EBP, 0xea3f51f);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x81, 0xfd, 0x1f, 0xf5, 0xa3, 0xe };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP EBP, 0xea3f51f' failed.");
	}
Esempio n. 16
0
	public void CMP_mem16_imm8 ()
	{
		// CMP Word [SS:0x12345678], 0xa
		// CMP (new WordMemory(Seg.SS, null, null, 0, 0x12345678), 0xa)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new WordMemory (Seg.SS, null, null, 0, 0x12345678), 0xa);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x36, 0x66, 0x83, 0x3d, 0x78, 0x56, 0x34, 0x12, 0xa };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP Word [SS:0x12345678], 0xa' failed.");
	}
Esempio n. 17
0
	public void CMP_rmreg32_imm8 ()
	{
		// CMP EDI, 0xa
		// CMP (R32.EDI, 0xa)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (R32.EDI, 0xa);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x83, 0xff, 0xa };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP EDI, 0xa' failed.");
	}
Esempio n. 18
0
	public void CMP_mem8_reg8 ()
	{
		// CMP [ES:EBX + 0x12345678], DL
		// CMP (new ByteMemory(Seg.ES, R32.EBX, null, 0, 0x12345678), R8.DL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMP (new ByteMemory (Seg.ES, R32.EBX, null, 0, 0x12345678), R8.DL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0x38, 0x93, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMP [ES:EBX + 0x12345678], DL' failed.");
	}