public void MOVSX_reg32_rmreg16 () { // MOVSX EBP, BP // MOVSX (R32.EBP, R16.BP) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R32.EBP, R16.BP); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xbf, 0xed }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX EBP, BP' failed."); }
public void MOVSX_reg32_rmreg8 () { // MOVSX EBP, AL // MOVSX (R32.EBP, R8.AL) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R32.EBP, R8.AL); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xbe, 0xe8 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX EBP, AL' failed."); }
public void MOVSX_reg16_rmreg8 () { // MOVSX BX, DH // MOVSX (R16.BX, R8.DH) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R16.BX, R8.DH); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xbe, 0xde }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX BX, DH' failed."); }
public void MOVSX_reg32_mem16 () { // MOVSX EDX, Word [CS:EAX*8] // MOVSX (R32.EDX, new WordMemory(Seg.CS, null, R32.EAX, 3)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R32.EDX, new WordMemory (Seg.CS, null, R32.EAX, 3)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x2e, 0xf, 0xbf, 0x14, 0xc5, 0x0, 0x0, 0x0, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX EDX, Word [CS:EAX*8]' failed."); }
public void MOVSX_reg32_mem8 () { // MOVSX EBX, Byte [CS:EBP*4] // MOVSX (R32.EBX, new ByteMemory(Seg.CS, null, R32.EBP, 2)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R32.EBX, new ByteMemory (Seg.CS, null, R32.EBP, 2)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x2e, 0xf, 0xbe, 0x1c, 0xad, 0x0, 0x0, 0x0, 0x0 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX EBX, Byte [CS:EBP*4]' failed."); }
public void MOVSX_reg16_mem8 () { // MOVSX BX, Byte [CS:0x12345678] // MOVSX (R16.BX, new ByteMemory(Seg.CS, null, null, 0, 0x12345678)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVSX (R16.BX, new ByteMemory (Seg.CS, null, null, 0, 0x12345678)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x2e, 0x66, 0xf, 0xbe, 0x1d, 0x78, 0x56, 0x34, 0x12 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVSX BX, Byte [CS:0x12345678]' failed."); }