當前位置: 首頁>>代碼示例>>C#>>正文


C# Assembly.CMPXCHG方法代碼示例

本文整理匯總了C#中SharpOS.AOT.X86.Assembly.CMPXCHG方法的典型用法代碼示例。如果您正苦於以下問題:C# Assembly.CMPXCHG方法的具體用法?C# Assembly.CMPXCHG怎麽用?C# Assembly.CMPXCHG使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在SharpOS.AOT.X86.Assembly的用法示例。


在下文中一共展示了Assembly.CMPXCHG方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: CMPXCHG_rmreg32_reg32

	public void CMPXCHG_rmreg32_reg32 ()
	{
		// CMPXCHG ECX, ESP
		// CMPXCHG (R32.ECX, R32.ESP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (R32.ECX, R32.ESP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xb1, 0xe1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG ECX, ESP' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs

示例2: CMPXCHG_rmreg16_reg16

	public void CMPXCHG_rmreg16_reg16 ()
	{
		// CMPXCHG SP, DI
		// CMPXCHG (R16.SP, R16.DI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (R16.SP, R16.DI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xf, 0xb1, 0xfc };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG SP, DI' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs

示例3: CMPXCHG_rmreg8_reg8

	public void CMPXCHG_rmreg8_reg8 ()
	{
		// CMPXCHG DH, AL
		// CMPXCHG (R8.DH, R8.AL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (R8.DH, R8.AL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xb0, 0xc6 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG DH, AL' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs

示例4: CMPXCHG_mem32_reg32

	public void CMPXCHG_mem32_reg32 ()
	{
		// CMPXCHG [EBP + EBP*4 + 0x12345678], EAX
		// CMPXCHG (new DWordMemory(null, R32.EBP, R32.EBP, 2, 0x12345678), R32.EAX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (new DWordMemory (null, R32.EBP, R32.EBP, 2, 0x12345678), R32.EAX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0xb1, 0x84, 0xad, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG [EBP + EBP*4 + 0x12345678], EAX' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs

示例5: CMPXCHG_mem16_reg16

	public void CMPXCHG_mem16_reg16 ()
	{
		// CMPXCHG [DS:0x12345678], SI
		// CMPXCHG (new WordMemory(Seg.DS, null, null, 0, 0x12345678), R16.SI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (new WordMemory (Seg.DS, null, null, 0, 0x12345678), R16.SI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x66, 0xf, 0xb1, 0x35, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG [DS:0x12345678], SI' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs

示例6: CMPXCHG_mem8_reg8

	public void CMPXCHG_mem8_reg8 ()
	{
		// CMPXCHG [DS:EDX + 0x12345678], DH
		// CMPXCHG (new ByteMemory(Seg.DS, R32.EDX, null, 0, 0x12345678), R8.DH)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.CMPXCHG (new ByteMemory (Seg.DS, R32.EDX, null, 0, 0x12345678), R8.DH);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0xf, 0xb0, 0xb2, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'CMPXCHG [DS:EDX + 0x12345678], DH' failed.");
	}
開發者ID:sharpos,項目名稱:SharpOS,代碼行數:11,代碼來源:X86.cs


注:本文中的SharpOS.AOT.X86.Assembly.CMPXCHG方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。