public void IMUL_reg32_rmreg32 () { // IMUL ESI, EDX // IMUL (R32.ESI, R32.EDX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ESI, R32.EDX); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xaf, 0xf2 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESI, EDX' failed."); }
public void IMUL_rmreg16 () { // IMUL DI // IMUL (R16.DI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.DI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf7, 0xef }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL DI' failed."); }
public void IMUL_reg16_rmreg16 () { // IMUL BX, DX // IMUL (R16.BX, R16.DX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.BX, R16.DX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xaf, 0xda }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, DX' failed."); }
public void IMUL_reg32_mem32_imm32 () { // IMUL ESP, [ESI], 0x53495ce // IMUL (R32.ESP, new DWordMemory(null, R32.ESI, null, 0), 0x53495ce) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ESP, new DWordMemory (null, R32.ESI, null, 0), 0x53495ce); asm.Encode (memoryStream); byte [] target = new byte [] { 0x69, 0x26, 0xce, 0x95, 0x34, 0x5 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, [ESI], 0x53495ce' failed."); }
public void IMUL_rmreg8 () { // IMUL AL // IMUL (R8.AL) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R8.AL); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf6, 0xe8 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AL' failed."); }
public void IMUL_reg32_rmreg32_imm8 () { // IMUL ESP, ECX, 0x7 // IMUL (R32.ESP, R32.ECX, 0x7) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ESP, R32.ECX, 0x7); asm.Encode (memoryStream); byte [] target = new byte [] { 0x6b, 0xe1, 0x7 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, ECX, 0x7' failed."); }
public void IMUL_mem32 () { // IMUL DWord [ESI*1 + 0x12345678] // IMUL (new DWordMemory(null, null, R32.ESI, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (new DWordMemory (null, null, R32.ESI, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf7, 0xae, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL DWord [ESI*1 + 0x12345678]' failed."); }
public void IMUL_reg32_imm32 () { // IMUL ESP, 0xb4f535a // IMUL (R32.ESP, 0xb4f535a) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ESP, 0xb4f535a); asm.Encode (memoryStream); byte [] target = new byte [] { 0x69, 0xe4, 0x5a, 0x53, 0x4f, 0xb }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ESP, 0xb4f535a' failed."); }
public void IMUL_reg16_mem16_imm8 () { // IMUL AX, [GS:EAX*4 + 0x12345678], 0x7 // IMUL (R16.AX, new WordMemory(Seg.GS, null, R32.EAX, 2, 0x12345678), 0x7) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.AX, new WordMemory (Seg.GS, null, R32.EAX, 2, 0x12345678), 0x7); asm.Encode (memoryStream); byte [] target = new byte [] { 0x65, 0x66, 0x6b, 0x4, 0x85, 0x78, 0x56, 0x34, 0x12, 0x7 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [GS:EAX*4 + 0x12345678], 0x7' failed."); }
public void IMUL_reg16_imm16 () { // IMUL BX, 0x916 // IMUL (R16.BX, 0x916) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.BX, 0x916); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x69, 0xdb, 0x16, 0x9 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, 0x916' failed."); }
public void IMUL_reg32_imm8 () { // IMUL EBP, 0xd // IMUL (R32.EBP, 0xd) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.EBP, 0xd); asm.Encode (memoryStream); byte [] target = new byte [] { 0x6b, 0xed, 0xd }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL EBP, 0xd' failed."); }
public void IMUL_reg16_imm8 () { // IMUL BP, 0xc // IMUL (R16.BP, 0xc) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.BP, 0xc); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x6b, 0xed, 0xc }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BP, 0xc' failed."); }
public void IMUL_reg32_mem32 () { // IMUL EDX, [ES:ECX + EBP*4] // IMUL (R32.EDX, new DWordMemory(Seg.ES, R32.ECX, R32.EBP, 2)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.EDX, new DWordMemory (Seg.ES, R32.ECX, R32.EBP, 2)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0xf, 0xaf, 0x14, 0xa9 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL EDX, [ES:ECX + EBP*4]' failed."); }
public void IMUL_reg16_mem16 () { // IMUL AX, [EAX + 0x12345678] // IMUL (R16.AX, new WordMemory(null, R32.EAX, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.AX, new WordMemory (null, R32.EAX, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xaf, 0x80, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [EAX + 0x12345678]' failed."); }
public void IMUL_reg16_rmreg16_imm8 () { // IMUL BX, SI, 0x8 // IMUL (R16.BX, R16.SI, 0x8) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.BX, R16.SI, 0x8); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x6b, 0xde, 0x8 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL BX, SI, 0x8' failed."); }
public void IMUL_reg16_mem16_imm16 () { // IMUL AX, [DS:EAX*2], 0xd98 // IMUL (R16.AX, new WordMemory(Seg.DS, null, R32.EAX, 1), 0xd98) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.AX, new WordMemory (Seg.DS, null, R32.EAX, 1), 0xd98); asm.Encode (memoryStream); byte [] target = new byte [] { 0x3e, 0x66, 0x69, 0x4, 0x0, 0x98, 0xd }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL AX, [DS:EAX*2], 0xd98' failed."); }
public void IMUL_reg16_rmreg16_imm16 () { // IMUL CX, SI, 0x690 // IMUL (R16.CX, R16.SI, 0x690) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R16.CX, R16.SI, 0x690); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x69, 0xce, 0x90, 0x6 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL CX, SI, 0x690' failed."); }
public void IMUL_reg32_mem32_imm8 () { // IMUL ECX, [EDI*4], 0x1 // IMUL (R32.ECX, new DWordMemory(null, null, R32.EDI, 2), 0x1) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ECX, new DWordMemory (null, null, R32.EDI, 2), 0x1); asm.Encode (memoryStream); byte [] target = new byte [] { 0x6b, 0xc, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x1 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ECX, [EDI*4], 0x1' failed."); }
public void IMUL_reg32_rmreg32_imm32 () { // IMUL ECX, EDX, 0xc09d7fb // IMUL (R32.ECX, R32.EDX, 0xc09d7fb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (R32.ECX, R32.EDX, 0xc09d7fb); asm.Encode (memoryStream); byte [] target = new byte [] { 0x69, 0xca, 0xfb, 0xd7, 0x9, 0xc }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL ECX, EDX, 0xc09d7fb' failed."); }
public void IMUL_mem8 () { // IMUL Byte [0x12345678] // IMUL (new ByteMemory(null, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.IMUL (new ByteMemory (null, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf6, 0x2d, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'IMUL Byte [0x12345678]' failed."); }