public void CALL_rmreg32 () { // CALL ECX // CALL (R32.ECX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (R32.ECX); asm.Encode (memoryStream); byte [] target = new byte [] { 0xff, 0xd1 }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL ECX' failed."); }
public void CALL_rmreg16 () { // CALL BX // CALL (R16.BX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (R16.BX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xff, 0xd3 }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL BX' failed."); }
public void CALL_mem32 () { // CALL DWord [SS:0x12345678] // CALL (new DWordMemory(Seg.SS, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (new DWordMemory (Seg.SS, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x36, 0xff, 0x15, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL DWord [SS:0x12345678]' failed."); }
public void CALL_imm16_imm32 () { // CALL 0x8e2: 0xbeeca0e // CALL (0x8e2, 0xbeeca0e) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (0x8e2, 0xbeeca0e); asm.Encode (memoryStream); byte [] target = new byte [] { 0x9a, 0xe, 0xca, 0xee, 0xb, 0xe2, 0x8 }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL 0x8e2: 0xbeeca0e' failed."); }
public void CALL_imm16_imm16 () { // CALL WORD 0x736: 0xcff // CALL (0x736, 0xcff) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (0x736, 0xcff); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x9a, 0xff, 0xc, 0x36, 0x7 }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL WORD 0x736: 0xcff' failed."); }
public void CALL_imm () { // CALL 0xab1a16f // CALL (0xab1a16f) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.CALL (0xab1a16f); asm.Encode (memoryStream); byte [] target = new byte [] { 0xe8, 0x6a, 0xa1, 0xb1, 0xa }; Assert.IsTrue (CompareData (memoryStream, target), "'CALL 0xab1a16f' failed."); }