public void CMOVNC_reg32_rmreg32 () { // CMOVNC ESI, ECX // CMOVNC (R32.ESI, R32.ECX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNC (R32.ESI, R32.ECX); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0x43, 0xf1 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNC ESI, ECX' failed."); }
public void CMOVNC_reg32_mem32 () { // CMOVNC EAX, [EBP] // CMOVNC (R32.EAX, new DWordMemory(null, R32.EBP, null, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNC (R32.EAX, new DWordMemory (null, R32.EBP, null, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0x43, 0x45, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNC EAX, [EBP]' failed."); }
public void CMOVNC_reg16_rmreg16 () { // CMOVNC BX, DX // CMOVNC (R16.BX, R16.DX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNC (R16.BX, R16.DX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0x43, 0xda }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNC BX, DX' failed."); }
public void CMOVNC_reg16_mem16 () { // CMOVNC SI, [EDI + 0x12345678] // CMOVNC (R16.SI, new WordMemory(null, R32.EDI, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNC (R16.SI, new WordMemory (null, R32.EDI, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0x43, 0xb7, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNC SI, [EDI + 0x12345678]' failed."); }