public void BTS_rmreg32_imm8 () { // BTS ECX, 0xb // BTS (R32.ECX, 0xb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (R32.ECX, 0xb); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xba, 0xe9, 0xb }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS ECX, 0xb' failed."); }
public void BTS_rmreg32_reg32 () { // BTS EDI, ECX // BTS (R32.EDI, R32.ECX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (R32.EDI, R32.ECX); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xab, 0xcf }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS EDI, ECX' failed."); }
public void BTS_rmreg16_imm8 () { // BTS AX, 0x6 // BTS (R16.AX, 0x6) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (R16.AX, 0x6); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xba, 0xe8, 0x6 }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS AX, 0x6' failed."); }
public void BTS_rmreg16_reg16 () { // BTS DI, SP // BTS (R16.DI, R16.SP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (R16.DI, R16.SP); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xab, 0xe7 }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS DI, SP' failed."); }
public void BTS_mem32_imm8 () { // BTS DWord [GS:0x12345678], 0x4 // BTS (new DWordMemory(Seg.GS, null, null, 0, 0x12345678), 0x4) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (new DWordMemory (Seg.GS, null, null, 0, 0x12345678), 0x4); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0xf, 0xba, 0x2d, 0x78, 0x56, 0x34, 0x12, 0x4 }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS DWord [GS:0x12345678], 0x4' failed."); }
public void BTS_mem16_imm8 () { // BTS Word [EDX + EDX*4 + 0x12345678], 0xe // BTS (new WordMemory(null, R32.EDX, R32.EDX, 2, 0x12345678), 0xe) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (new WordMemory (null, R32.EDX, R32.EDX, 2, 0x12345678), 0xe); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xba, 0xac, 0x92, 0x78, 0x56, 0x34, 0x12, 0xe }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS Word [EDX + EDX*4 + 0x12345678], 0xe' failed."); }
public void BTS_mem32_reg32 () { // BTS [ES:0x12345678], ESP // BTS (new DWordMemory(Seg.ES, null, null, 0, 0x12345678), R32.ESP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (new DWordMemory (Seg.ES, null, null, 0, 0x12345678), R32.ESP); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0xf, 0xab, 0x25, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS [ES:0x12345678], ESP' failed."); }
public void BTS_mem16_reg16 () { // BTS [GS:0x12345678], BX // BTS (new WordMemory(Seg.GS, null, null, 0, 0x12345678), R16.BX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.BTS (new WordMemory (Seg.GS, null, null, 0, 0x12345678), R16.BX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0x66, 0xf, 0xab, 0x1d, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'BTS [GS:0x12345678], BX' failed."); }