public void FCOM_mem64 () { // FCOM QWord [ES:EBP*4] // FCOM (new QWordMemory(Seg.ES, null, R32.EBP, 2)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FCOM (new QWordMemory (Seg.ES, null, R32.EBP, 2)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0xdc, 0x14, 0xad, 0x0, 0x0, 0x0, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'FCOM QWord [ES:EBP*4]' failed."); }
public void FCOM_fpureg () { // FCOM ST5 // FCOM (FP.ST5) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FCOM (FP.ST5); asm.Encode (memoryStream); byte [] target = new byte [] { 0xd8, 0xd5 }; Assert.IsTrue (CompareData (memoryStream, target), "'FCOM ST5' failed."); }
public void FCOM_mem32 () { // FCOM DWord [0x12345678] // FCOM (new DWordMemory(null, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FCOM (new DWordMemory (null, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xd8, 0x15, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'FCOM DWord [0x12345678]' failed."); }