public void POP_segreg () { // POP FS // POP (Seg.FS) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.POP (Seg.FS); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xa1 }; Assert.IsTrue (CompareData (memoryStream, target), "'POP FS' failed."); }
public void POP_mem32 () { // POP DWord [DS:EAX + EDX*2] // POP (new DWordMemory(Seg.DS, R32.EAX, R32.EDX, 1)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.POP (new DWordMemory (Seg.DS, R32.EAX, R32.EDX, 1)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x3e, 0x8f, 0x4, 0x50 }; Assert.IsTrue (CompareData (memoryStream, target), "'POP DWord [DS:EAX + EDX*2]' failed."); }
public void POP_reg32 () { // POP EBP // POP (R32.EBP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.POP (R32.EBP); asm.Encode (memoryStream); byte [] target = new byte [] { 0x5d }; Assert.IsTrue (CompareData (memoryStream, target), "'POP EBP' failed."); }
public void POP_mem16 () { // POP Word [EDX + EDX*1] // POP (new WordMemory(null, R32.EDX, R32.EDX, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.POP (new WordMemory (null, R32.EDX, R32.EDX, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x8f, 0x4, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'POP Word [EDX + EDX*1]' failed."); }
public void POP_reg16 () { // POP DI // POP (R16.DI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.POP (R16.DI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x5f }; Assert.IsTrue (CompareData (memoryStream, target), "'POP DI' failed."); }