public void FMUL_mem64 () { // FMUL QWord [EBP + EBP*8] // FMUL (new QWordMemory(null, R32.EBP, R32.EBP, 3)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FMUL (new QWordMemory (null, R32.EBP, R32.EBP, 3)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xdc, 0x4c, 0xed, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'FMUL QWord [EBP + EBP*8]' failed."); }
public void FMUL_fpureg () { // FMUL ST5 // FMUL (FP.ST5) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FMUL (FP.ST5); asm.Encode (memoryStream); byte [] target = new byte [] { 0xd8, 0xcd }; Assert.IsTrue (CompareData (memoryStream, target), "'FMUL ST5' failed."); }
public void FMUL_mem32 () { // FMUL DWord [GS:0x12345678] // FMUL (new DWordMemory(Seg.GS, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.FMUL (new DWordMemory (Seg.GS, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0xd8, 0xd, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'FMUL DWord [GS:0x12345678]' failed."); }