ADD() public method

ADD mem8,imm8
public ADD ( ByteMemory target, Byte source ) : void
target ByteMemory
source Byte
return void
Esempio n. 1
0
	public void ADD_rmreg16_imm16 ()
	{
		// ADD BP, 0xd5c
		// ADD (R16.BP, 0xd5c)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R16.BP, 0xd5c);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x81, 0xc5, 0x5c, 0xd };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD BP, 0xd5c' failed.");
	}
Esempio n. 2
0
	public void ADD_rmreg32_reg32 ()
	{
		// ADD EBP, EBP
		// ADD (R32.EBP, R32.EBP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R32.EBP, R32.EBP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x1, 0xed };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD EBP, EBP' failed.");
	}
Esempio n. 3
0
	public void ADD_rmreg8_imm8 ()
	{
		// ADD BH, 0x4
		// ADD (R8.BH, 0x4)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R8.BH, 0x4);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x80, 0xc7, 0x4 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD BH, 0x4' failed.");
	}
Esempio n. 4
0
	public void ADD_rmreg8_reg8 ()
	{
		// ADD BH, DH
		// ADD (R8.BH, R8.DH)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R8.BH, R8.DH);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x0, 0xf7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD BH, DH' failed.");
	}
Esempio n. 5
0
	public void ADD_rmreg16_reg16 ()
	{
		// ADD CX, AX
		// ADD (R16.CX, R16.AX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R16.CX, R16.AX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x1, 0xc1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD CX, AX' failed.");
	}
Esempio n. 6
0
	public void ADD_mem16_reg16 ()
	{
		// ADD [CS:EDX], BP
		// ADD (new WordMemory(Seg.CS, R32.EDX, null, 0), R16.BP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new WordMemory (Seg.CS, R32.EDX, null, 0), R16.BP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0x66, 0x1, 0x2a };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD [CS:EDX], BP' failed.");
	}
Esempio n. 7
0
	public void ADD_mem32_imm8 ()
	{
		// ADD DWord [CS:EBX + 0x12345678], 0xc
		// ADD (new DWordMemory(Seg.CS, R32.EBX, null, 0, 0x12345678), 0xc)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new DWordMemory (Seg.CS, R32.EBX, null, 0, 0x12345678), 0xc);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0x83, 0x83, 0x78, 0x56, 0x34, 0x12, 0xc };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD DWord [CS:EBX + 0x12345678], 0xc' failed.");
	}
Esempio n. 8
0
	public void ADD_mem16_imm16 ()
	{
		// ADD Word [0x12345678], 0x77b
		// ADD (new WordMemory(null, null, null, 0, 0x12345678), 0x77b)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new WordMemory (null, null, null, 0, 0x12345678), 0x77b);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x81, 0x5, 0x78, 0x56, 0x34, 0x12, 0x7b, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD Word [0x12345678], 0x77b' failed.");
	}
Esempio n. 9
0
	public void ADD_mem32_imm32 ()
	{
		// ADD DWord [ES:0x12345678], 0x55afc7d
		// ADD (new DWordMemory(Seg.ES, null, null, 0, 0x12345678), 0x55afc7d)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new DWordMemory (Seg.ES, null, null, 0, 0x12345678), 0x55afc7d);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0x81, 0x5, 0x78, 0x56, 0x34, 0x12, 0x7d, 0xfc, 0x5a, 0x5 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD DWord [ES:0x12345678], 0x55afc7d' failed.");
	}
Esempio n. 10
0
	public void ADD_reg32_mem32 ()
	{
		// ADD ESI, [ESI*2]
		// ADD (R32.ESI, new DWordMemory(null, null, R32.ESI, 1))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R32.ESI, new DWordMemory (null, null, R32.ESI, 1));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3, 0x34, 0x36 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD ESI, [ESI*2]' failed.");
	}
Esempio n. 11
0
	public void ADD_mem8_imm8 ()
	{
		// ADD Byte [ESP + EBX*2 + 0x12345678], 0x8
		// ADD (new ByteMemory(null, R32.ESP, R32.EBX, 1, 0x12345678), 0x8)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new ByteMemory (null, R32.ESP, R32.EBX, 1, 0x12345678), 0x8);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x80, 0x84, 0x5c, 0x78, 0x56, 0x34, 0x12, 0x8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD Byte [ESP + EBX*2 + 0x12345678], 0x8' failed.");
	}
Esempio n. 12
0
	public void ADD_reg16_mem16 ()
	{
		// ADD CX, [GS:EBX + 0x12345678]
		// ADD (R16.CX, new WordMemory(Seg.GS, R32.EBX, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R16.CX, new WordMemory (Seg.GS, R32.EBX, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x66, 0x3, 0x8b, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD CX, [GS:EBX + 0x12345678]' failed.");
	}
Esempio n. 13
0
	public void ADD_reg8_mem8 ()
	{
		// ADD AL, [EDI]
		// ADD (R8.AL, new ByteMemory(null, R32.EDI, null, 0))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R8.AL, new ByteMemory (null, R32.EDI, null, 0));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD AL, [EDI]' failed.");
	}
Esempio n. 14
0
	public void ADD_mem32_reg32 ()
	{
		// ADD [EAX + EDX*1], EBX
		// ADD (new DWordMemory(null, R32.EAX, R32.EDX, 0), R32.EBX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new DWordMemory (null, R32.EAX, R32.EDX, 0), R32.EBX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x1, 0x1c, 0x10 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD [EAX + EDX*1], EBX' failed.");
	}
Esempio n. 15
0
	public void ADD_rmreg32_imm32 ()
	{
		// ADD ESP, 0x54b85b5
		// ADD (R32.ESP, 0x54b85b5)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R32.ESP, 0x54b85b5);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x81, 0xc4, 0xb5, 0x85, 0x4b, 0x5 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD ESP, 0x54b85b5' failed.");
	}
Esempio n. 16
0
	public void ADD_mem16_imm8 ()
	{
		// ADD Word [CS:0x12345678], 0x6
		// ADD (new WordMemory(Seg.CS, null, null, 0, 0x12345678), 0x6)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new WordMemory (Seg.CS, null, null, 0, 0x12345678), 0x6);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0x66, 0x83, 0x5, 0x78, 0x56, 0x34, 0x12, 0x6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD Word [CS:0x12345678], 0x6' failed.");
	}
Esempio n. 17
0
	public void ADD_rmreg32_imm8 ()
	{
		// ADD ESI, 0x9
		// ADD (R32.ESI, 0x9)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (R32.ESI, 0x9);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x83, 0xc6, 0x9 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD ESI, 0x9' failed.");
	}
Esempio n. 18
0
	public void ADD_mem8_reg8 ()
	{
		// ADD [DS:EAX], CL
		// ADD (new ByteMemory(Seg.DS, R32.EAX, null, 0), R8.CL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.ADD (new ByteMemory (Seg.DS, R32.EAX, null, 0), R8.CL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x0, 0x8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'ADD [DS:EAX], CL' failed.");
	}