当前位置: 首页>>代码示例>>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;未经允许,请勿转载。