本文整理匯總了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.");
}