public CMOVBE ( |
||
target | ||
source | ||
return | void |
public void CMOVBE_reg32_rmreg32 () { // CMOVBE ECX, EBP // CMOVBE (R32.ECX, R32.EBP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVBE (R32.ECX, R32.EBP); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0x46, 0xcd }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVBE ECX, EBP' failed."); }
public void CMOVBE_reg32_mem32 () { // CMOVBE EAX, [DS:EBX + EBX*8 + 0x12345678] // CMOVBE (R32.EAX, new DWordMemory(Seg.DS, R32.EBX, R32.EBX, 3, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVBE (R32.EAX, new DWordMemory (Seg.DS, R32.EBX, R32.EBX, 3, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x3e, 0xf, 0x46, 0x84, 0xdb, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVBE EAX, [DS:EBX + EBX*8 + 0x12345678]' failed."); }
public void CMOVBE_reg16_rmreg16 () { // CMOVBE SI, BX // CMOVBE (R16.SI, R16.BX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVBE (R16.SI, R16.BX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0x46, 0xf3 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVBE SI, BX' failed."); }
public void CMOVBE_reg16_mem16 () { // CMOVBE DI, [EDI + ECX*2] // CMOVBE (R16.DI, new WordMemory(null, R32.EDI, R32.ECX, 1)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVBE (R16.DI, new WordMemory (null, R32.EDI, R32.ECX, 1)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0x46, 0x3c, 0x4f }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVBE DI, [EDI + ECX*2]' failed."); }