public void JMP_rmreg32 () { // JMP ESP // JMP (R32.ESP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (R32.ESP); asm.Encode (memoryStream); byte [] target = new byte [] { 0xff, 0xe4 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP ESP' failed."); }
public void JMP_mem32 () { // JMP DWord [FS:ECX*2] // JMP (new DWordMemory(Seg.FS, null, R32.ECX, 1)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (new DWordMemory (Seg.FS, null, R32.ECX, 1)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x64, 0xff, 0x24, 0x9 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP DWord [FS:ECX*2]' failed."); }
public void JMP_rmreg16 () { // JMP SI // JMP (R16.SI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (R16.SI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xff, 0xe6 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP SI' failed."); }
public void JMP_mem16 () { // JMP Word [EAX + EDX*1] // JMP (new WordMemory(null, R32.EAX, R32.EDX, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (new WordMemory (null, R32.EAX, R32.EDX, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xff, 0x24, 0x10 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP Word [EAX + EDX*1]' failed."); }
public void JMP_imm16_imm32 () { // JMP 0xaed: 0xb2bdff6 // JMP (0xaed, 0xb2bdff6) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (0xaed, 0xb2bdff6); asm.Encode (memoryStream); byte [] target = new byte [] { 0xea, 0xf6, 0xdf, 0x2b, 0xb, 0xed, 0xa }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP 0xaed: 0xb2bdff6' failed."); }
public void JMP_imm16_imm16 () { // JMP WORD 0x319: 0xceb // JMP (0x319, 0xceb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (0x319, 0xceb); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xea, 0xeb, 0xc, 0x19, 0x3 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP WORD 0x319: 0xceb' failed."); }
public void JMP_imm8 () { // JMP_imm8: JMP SHORT JMP_imm8 // JMP (0x00) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (0x00); asm.Encode (memoryStream); byte [] target = new byte [] { 0xeb, 0xfe }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP_imm8: JMP SHORT JMP_imm8' failed."); }
public void JMP_imm () { // JMP 0x50b4d29 // JMP (0x50b4d29) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.JMP (0x50b4d29); asm.Encode (memoryStream); byte [] target = new byte [] { 0xe9, 0x24, 0x4d, 0xb, 0x5 }; Assert.IsTrue (CompareData (memoryStream, target), "'JMP 0x50b4d29' failed."); }