public void CMOVNS_reg32_rmreg32 () { // CMOVNS EBP, EBP // CMOVNS (R32.EBP, R32.EBP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNS (R32.EBP, R32.EBP); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0x49, 0xed }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNS EBP, EBP' failed."); }
public void CMOVNS_reg32_mem32 () { // CMOVNS ESP, [EBX + EBP*1 + 0x12345678] // CMOVNS (R32.ESP, new DWordMemory(null, R32.EBX, R32.EBP, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNS (R32.ESP, new DWordMemory (null, R32.EBX, R32.EBP, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0x49, 0xa4, 0x2b, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNS ESP, [EBX + EBP*1 + 0x12345678]' failed."); }
public void CMOVNS_reg16_rmreg16 () { // CMOVNS SP, BX // CMOVNS (R16.SP, R16.BX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNS (R16.SP, R16.BX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0x49, 0xe3 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNS SP, BX' failed."); }
public void CMOVNS_reg16_mem16 () { // CMOVNS BX, [GS:EDX + 0x12345678] // CMOVNS (R16.BX, new WordMemory(Seg.GS, R32.EDX, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CMOVNS (R16.BX, new WordMemory (Seg.GS, R32.EDX, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0x66, 0xf, 0x49, 0x9a, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'CMOVNS BX, [GS:EDX + 0x12345678]' failed."); }