本文整理汇总了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.");
}
示例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.");
}
示例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.");
}
示例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.");
}
示例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.");
}
示例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.");
}