public void SHRD_rmreg32_reg32_CL () { // SHRD ECX, EAX, CL // SHRD___CL (R32.ECX, R32.EAX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SHRD___CL (R32.ECX, R32.EAX); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xad, 0xc1 }; Assert.IsTrue (CompareData (memoryStream, target), "'SHRD ECX, EAX, CL' failed."); }
public void SHRD_mem32_reg32_CL () { // SHRD [EBX*2], ESI, CL // SHRD___CL (new DWordMemory(null, null, R32.EBX, 1), R32.ESI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SHRD___CL (new DWordMemory (null, null, R32.EBX, 1), R32.ESI); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xad, 0x34, 0x1b }; Assert.IsTrue (CompareData (memoryStream, target), "'SHRD [EBX*2], ESI, CL' failed."); }
public void SHRD_rmreg16_reg16_CL () { // SHRD SP, SI, CL // SHRD___CL (R16.SP, R16.SI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SHRD___CL (R16.SP, R16.SI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xad, 0xf4 }; Assert.IsTrue (CompareData (memoryStream, target), "'SHRD SP, SI, CL' failed."); }
public void SHRD_mem16_reg16_CL () { // SHRD [CS:ESP], DI, CL // SHRD___CL (new WordMemory(Seg.CS, R32.ESP, null, 0), R16.DI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.SHRD___CL (new WordMemory (Seg.CS, R32.ESP, null, 0), R16.DI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x2e, 0x66, 0xf, 0xad, 0x3c, 0x24 }; Assert.IsTrue (CompareData (memoryStream, target), "'SHRD [CS:ESP], DI, CL' failed."); }