public void ADC_rmreg32_reg32 () { // ADC ESI, EBX // ADC (R32.ESI, R32.EBX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R32.ESI, R32.EBX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x11, 0xde }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC ESI, EBX' failed."); }
public void ADC_rmreg8_imm8 () { // ADC AH, 0xb // ADC (R8.AH, 0xb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R8.AH, 0xb); asm.Encode (memoryStream); byte [] target = new byte [] { 0x80, 0xd4, 0xb }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC AH, 0xb' failed."); }
public void ADC_rmreg8_reg8 () { // ADC DL, BH // ADC (R8.DL, R8.BH) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R8.DL, R8.BH); asm.Encode (memoryStream); byte [] target = new byte [] { 0x10, 0xfa }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC DL, BH' failed."); }
public void ADC_rmreg16_reg16 () { // ADC DI, SI // ADC (R16.DI, R16.SI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R16.DI, R16.SI); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x11, 0xf7 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC DI, SI' failed."); }
public void ADC_mem16_reg16 () { // ADC [0x12345678], CX // ADC (new WordMemory(null, null, null, 0, 0x12345678), R16.CX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new WordMemory (null, null, null, 0, 0x12345678), R16.CX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x11, 0xd, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC [0x12345678], CX' failed."); }
public void ADC_mem32_imm8 () { // ADC DWord [ES:EDX], 0xb // ADC (new DWordMemory(Seg.ES, R32.EDX, null, 0), 0xb) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new DWordMemory (Seg.ES, R32.EDX, null, 0), 0xb); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0x83, 0x12, 0xb }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC DWord [ES:EDX], 0xb' failed."); }
public void ADC_mem16_imm16 () { // ADC Word [0x12345678], 0x3c4 // ADC (new WordMemory(null, null, null, 0, 0x12345678), 0x3c4) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new WordMemory (null, null, null, 0, 0x12345678), 0x3c4); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x81, 0x15, 0x78, 0x56, 0x34, 0x12, 0xc4, 0x3 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC Word [0x12345678], 0x3c4' failed."); }
public void ADC_rmreg16_imm8 () { // ADC DX, 0x3 // ADC (R16.DX, 0x3) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R16.DX, 0x3); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x83, 0xd2, 0x3 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC DX, 0x3' failed."); }
public void ADC_reg32_mem32 () { // ADC EBX, [EBX] // ADC (R32.EBX, new DWordMemory(null, R32.EBX, null, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R32.EBX, new DWordMemory (null, R32.EBX, null, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x13, 0x1b }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC EBX, [EBX]' failed."); }
public void ADC_mem8_imm8 () { // ADC Byte [0x12345678], 0xd // ADC (new ByteMemory(null, null, null, 0, 0x12345678), 0xd) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new ByteMemory (null, null, null, 0, 0x12345678), 0xd); asm.Encode (memoryStream); byte [] target = new byte [] { 0x80, 0x15, 0x78, 0x56, 0x34, 0x12, 0xd }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC Byte [0x12345678], 0xd' failed."); }
public void ADC_reg16_mem16 () { // ADC BX, [DS:ESP] // ADC (R16.BX, new WordMemory(Seg.DS, R32.ESP, null, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R16.BX, new WordMemory (Seg.DS, R32.ESP, null, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x3e, 0x66, 0x13, 0x1c, 0x24 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC BX, [DS:ESP]' failed."); }
public void ADC_reg8_mem8 () { // ADC BH, [0x12345678] // ADC (R8.BH, new ByteMemory(null, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R8.BH, new ByteMemory (null, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x12, 0x3d, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC BH, [0x12345678]' failed."); }
public void ADC_mem32_reg32 () { // ADC [ESI + EBP*1], EBX // ADC (new DWordMemory(null, R32.ESI, R32.EBP, 0), R32.EBX) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new DWordMemory (null, R32.ESI, R32.EBP, 0), R32.EBX); asm.Encode (memoryStream); byte [] target = new byte [] { 0x11, 0x1c, 0x2e }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC [ESI + EBP*1], EBX' failed."); }
public void ADC_rmreg16_imm16 () { // ADC SP, 0x2c4 // ADC (R16.SP, 0x2c4) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R16.SP, 0x2c4); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0x81, 0xd4, 0xc4, 0x2 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC SP, 0x2c4' failed."); }
public void ADC_mem32_imm32 () { // ADC DWord [EDI + EAX*4 + 0x12345678], 0x3e5b6ea // ADC (new DWordMemory(null, R32.EDI, R32.EAX, 2, 0x12345678), 0x3e5b6ea) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new DWordMemory (null, R32.EDI, R32.EAX, 2, 0x12345678), 0x3e5b6ea); asm.Encode (memoryStream); byte [] target = new byte [] { 0x81, 0x94, 0x87, 0x78, 0x56, 0x34, 0x12, 0xea, 0xb6, 0xe5, 0x3 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC DWord [EDI + EAX*4 + 0x12345678], 0x3e5b6ea' failed."); }
public void ADC_rmreg32_imm32 () { // ADC ESP, 0x7683f00 // ADC (R32.ESP, 0x7683f00) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R32.ESP, 0x7683f00); asm.Encode (memoryStream); byte [] target = new byte [] { 0x81, 0xd4, 0x0, 0x3f, 0x68, 0x7 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC ESP, 0x7683f00' failed."); }
public void ADC_mem16_imm8 () { // ADC Word [FS:EBX + 0x12345678], 0x0 // ADC (new WordMemory(Seg.FS, R32.EBX, null, 0, 0x12345678), 0x0) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new WordMemory (Seg.FS, R32.EBX, null, 0, 0x12345678), 0x0); asm.Encode (memoryStream); byte [] target = new byte [] { 0x64, 0x66, 0x83, 0x93, 0x78, 0x56, 0x34, 0x12, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC Word [FS:EBX + 0x12345678], 0x0' failed."); }
public void ADC_rmreg32_imm8 () { // ADC EBP, 0x7 // ADC (R32.EBP, 0x7) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (R32.EBP, 0x7); asm.Encode (memoryStream); byte [] target = new byte [] { 0x83, 0xd5, 0x7 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC EBP, 0x7' failed."); }
public void ADC_mem8_reg8 () { // ADC [ES:EDX], DL // ADC (new ByteMemory(Seg.ES, R32.EDX, null, 0), R8.DL) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.ADC (new ByteMemory (Seg.ES, R32.EDX, null, 0), R8.DL); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0x10, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'ADC [ES:EDX], DL' failed."); }