public void SAL_rmreg32_imm8 () { // SAL EAX, 0xe // SAL (R32.EAX, 0xe) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (R32.EAX, 0xe); asm.Encode (memoryStream); byte [] target = new byte [] { 0xc1, 0xe0, 0xe }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL EAX, 0xe' failed."); }
public void SAL_rmreg16_imm8 () { // SAL DX, 0x2 // SAL (R16.DX, 0x2) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (R16.DX, 0x2); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xc1, 0xe2, 0x2 }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL DX, 0x2' failed."); }
public void SAL_rmreg8_imm8 () { // SAL BH, 0x8 // SAL (R8.BH, 0x8) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (R8.BH, 0x8); asm.Encode (memoryStream); byte [] target = new byte [] { 0xc0, 0xe7, 0x8 }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL BH, 0x8' failed."); }
public void SAL_mem32_imm8 () { // SAL DWord [EDI + ECX*2], 0xf // SAL (new DWordMemory(null, R32.EDI, R32.ECX, 1), 0xf) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (new DWordMemory (null, R32.EDI, R32.ECX, 1), 0xf); asm.Encode (memoryStream); byte [] target = new byte [] { 0xc1, 0x24, 0x4f, 0xf }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL DWord [EDI + ECX*2], 0xf' failed."); }
public void SAL_mem16_imm8 () { // SAL Word [GS:0x12345678], 0xb // SAL (new WordMemory(Seg.GS, null, null, 0, 0x12345678), 0xb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (new WordMemory (Seg.GS, null, null, 0, 0x12345678), 0xb); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0x66, 0xc1, 0x25, 0x78, 0x56, 0x34, 0x12, 0xb }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL Word [GS:0x12345678], 0xb' failed."); }
public void SAL_mem8_imm8 () { // SAL Byte [ECX + EAX*8 + 0x12345678], 0x9 // SAL (new ByteMemory(null, R32.ECX, R32.EAX, 3, 0x12345678), 0x9) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SAL (new ByteMemory (null, R32.ECX, R32.EAX, 3, 0x12345678), 0x9); asm.Encode (memoryStream); byte [] target = new byte [] { 0xc0, 0xa4, 0xc1, 0x78, 0x56, 0x34, 0x12, 0x9 }; Assert.IsTrue (CompareData (memoryStream, target), "'SAL Byte [ECX + EAX*8 + 0x12345678], 0x9' failed."); }