public void FISTP_mem32 () { // FISTP DWord [0x12345678] // FISTP (new DWordMemory(null, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FISTP (new DWordMemory (null, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xdb, 0x1d, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'FISTP DWord [0x12345678]' failed."); }
public void FISTP_mem64 () { // FISTP QWord [GS:ESP + EDX*8] // FISTP (new QWordMemory(Seg.GS, R32.ESP, R32.EDX, 3)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FISTP (new QWordMemory (Seg.GS, R32.ESP, R32.EDX, 3)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0xdf, 0x3c, 0xd4 }; Assert.IsTrue (CompareData (memoryStream, target), "'FISTP QWord [GS:ESP + EDX*8]' failed."); }
public void FISTP_mem16 () { // FISTP Word [CS:EAX*1 + 0x12345678] // FISTP (new WordMemory(Seg.CS, null, R32.EAX, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FISTP (new WordMemory (Seg.CS, null, R32.EAX, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x2e, 0xdf, 0x98, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'FISTP Word [CS:EAX*1 + 0x12345678]' failed."); }