XOR() public method

XOR mem8,imm8
public XOR ( ByteMemory target, Byte source ) : void
target ByteMemory
source Byte
return void
コード例 #1
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg32_reg32 ()
	{
		// XOR EDI, EDX
		// XOR (R32.EDI, R32.EDX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R32.EDI, R32.EDX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x31, 0xd7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR EDI, EDX' failed.");
	}
コード例 #2
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg8_imm8 ()
	{
		// XOR BH, 0xa
		// XOR (R8.BH, 0xa)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R8.BH, 0xa);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x80, 0xf7, 0xa };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR BH, 0xa' failed.");
	}
コード例 #3
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg8_reg8 ()
	{
		// XOR DL, DL
		// XOR (R8.DL, R8.DL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R8.DL, R8.DL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x30, 0xd2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DL, DL' failed.");
	}
コード例 #4
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg16_reg16 ()
	{
		// XOR DX, DX
		// XOR (R16.DX, R16.DX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R16.DX, R16.DX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x31, 0xd2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DX, DX' failed.");
	}
コード例 #5
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem16_reg16 ()
	{
		// XOR [DS:EDX], BP
		// XOR (new WordMemory(Seg.DS, R32.EDX, null, 0), R16.BP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new WordMemory (Seg.DS, R32.EDX, null, 0), R16.BP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x66, 0x31, 0x2a };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR [DS:EDX], BP' failed.");
	}
コード例 #6
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem32_imm8 ()
	{
		// XOR DWord [GS:ESP + ECX*2], 0xb
		// XOR (new DWordMemory(Seg.GS, R32.ESP, R32.ECX, 1), 0xb)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new DWordMemory (Seg.GS, R32.ESP, R32.ECX, 1), 0xb);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x83, 0x34, 0x4c, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DWord [GS:ESP + ECX*2], 0xb' failed.");
	}
コード例 #7
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem16_imm16 ()
	{
		// XOR Word [EBX*1 + 0x12345678], 0x617
		// XOR (new WordMemory(null, null, R32.EBX, 0, 0x12345678), 0x617)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new WordMemory (null, null, R32.EBX, 0, 0x12345678), 0x617);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x81, 0xb3, 0x78, 0x56, 0x34, 0x12, 0x17, 0x6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR Word [EBX*1 + 0x12345678], 0x617' failed.");
	}
コード例 #8
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg16_imm8 ()
	{
		// XOR SI, 0xd
		// XOR (R16.SI, 0xd)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R16.SI, 0xd);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x83, 0xf6, 0xd };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR SI, 0xd' failed.");
	}
コード例 #9
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_reg32_mem32 ()
	{
		// XOR ESI, [GS:EAX*2 + 0x12345678]
		// XOR (R32.ESI, new DWordMemory(Seg.GS, null, R32.EAX, 1, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R32.ESI, new DWordMemory (Seg.GS, null, R32.EAX, 1, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x33, 0xb4, 0x0, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR ESI, [GS:EAX*2 + 0x12345678]' failed.");
	}
コード例 #10
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem8_imm8 ()
	{
		// XOR Byte [ESP + EBP*2], 0x1
		// XOR (new ByteMemory(null, R32.ESP, R32.EBP, 1), 0x1)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new ByteMemory (null, R32.ESP, R32.EBP, 1), 0x1);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x80, 0x34, 0x6c, 0x1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR Byte [ESP + EBP*2], 0x1' failed.");
	}
コード例 #11
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_reg16_mem16 ()
	{
		// XOR CX, [DS:0x12345678]
		// XOR (R16.CX, new WordMemory(Seg.DS, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R16.CX, new WordMemory (Seg.DS, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x66, 0x33, 0xd, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR CX, [DS:0x12345678]' failed.");
	}
コード例 #12
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_reg8_mem8 ()
	{
		// XOR DH, [CS:ESP + EBP*2 + 0x12345678]
		// XOR (R8.DH, new ByteMemory(Seg.CS, R32.ESP, R32.EBP, 1, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R8.DH, new ByteMemory (Seg.CS, R32.ESP, R32.EBP, 1, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0x32, 0xb4, 0x6c, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DH, [CS:ESP + EBP*2 + 0x12345678]' failed.");
	}
コード例 #13
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem32_reg32 ()
	{
		// XOR [SS:ECX*8 + 0x12345678], EAX
		// XOR (new DWordMemory(Seg.SS, null, R32.ECX, 3, 0x12345678), R32.EAX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new DWordMemory (Seg.SS, null, R32.ECX, 3, 0x12345678), R32.EAX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x36, 0x31, 0x4, 0xcd, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR [SS:ECX*8 + 0x12345678], EAX' failed.");
	}
コード例 #14
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg16_imm16 ()
	{
		// XOR DX, 0xe42
		// XOR (R16.DX, 0xe42)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R16.DX, 0xe42);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x81, 0xf2, 0x42, 0xe };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DX, 0xe42' failed.");
	}
コード例 #15
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem32_imm32 ()
	{
		// XOR DWord [0x12345678], 0x969210a
		// XOR (new DWordMemory(null, null, null, 0, 0x12345678), 0x969210a)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new DWordMemory (null, null, null, 0, 0x12345678), 0x969210a);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x81, 0x35, 0x78, 0x56, 0x34, 0x12, 0xa, 0x21, 0x69, 0x9 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR DWord [0x12345678], 0x969210a' failed.");
	}
コード例 #16
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg32_imm32 ()
	{
		// XOR EDI, 0xb40e972
		// XOR (R32.EDI, 0xb40e972)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R32.EDI, 0xb40e972);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x81, 0xf7, 0x72, 0xe9, 0x40, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR EDI, 0xb40e972' failed.");
	}
コード例 #17
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem16_imm8 ()
	{
		// XOR Word [GS:ECX], 0x0
		// XOR (new WordMemory(Seg.GS, R32.ECX, null, 0), 0x0)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new WordMemory (Seg.GS, R32.ECX, null, 0), 0x0);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x66, 0x83, 0x31, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR Word [GS:ECX], 0x0' failed.");
	}
コード例 #18
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_rmreg32_imm8 ()
	{
		// XOR ESI, 0x8
		// XOR (R32.ESI, 0x8)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (R32.ESI, 0x8);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x83, 0xf6, 0x8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR ESI, 0x8' failed.");
	}
コード例 #19
0
ファイル: X86.cs プロジェクト: sharpos/SharpOS
	public void XOR_mem8_reg8 ()
	{
		// XOR [FS:ESI*1], AH
		// XOR (new ByteMemory(Seg.FS, null, R32.ESI, 0), R8.AH)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.XOR (new ByteMemory (Seg.FS, null, R32.ESI, 0), R8.AH);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x64, 0x30, 0x26 };
		Assert.IsTrue (CompareData (memoryStream, target), "'XOR [FS:ESI*1], AH' failed.");
	}