public void MOVZX_reg32_rmreg16 () { // MOVZX EDI, SI // MOVZX (R32.EDI, R16.SI) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVZX (R32.EDI, R16.SI); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xb7, 0xfe }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVZX EDI, SI' failed."); }
public void MOVZX_reg32_rmreg8 () { // MOVZX EAX, CH // MOVZX (R32.EAX, R8.CH) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVZX (R32.EAX, R8.CH); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xb6, 0xc5 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVZX EAX, CH' failed."); }
public void MOVZX_reg32_mem8 () { // MOVZX ECX, Byte [ES:EDI + EAX*8] // MOVZX (R32.ECX, new ByteMemory(Seg.ES, R32.EDI, R32.EAX, 3)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVZX (R32.ECX, new ByteMemory (Seg.ES, R32.EDI, R32.EAX, 3)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x26, 0xf, 0xb6, 0xc, 0xc7 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVZX ECX, Byte [ES:EDI + EAX*8]' failed."); }
public void MOVZX_reg32_mem16 () { // MOVZX ECX, Word [EAX + EDX*8] // MOVZX (R32.ECX, new WordMemory(null, R32.EAX, R32.EDX, 3)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVZX (R32.ECX, new WordMemory (null, R32.EAX, R32.EDX, 3)); asm.Encode (memoryStream); byte [] target = new byte [] { 0xf, 0xb7, 0xc, 0xd0 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVZX ECX, Word [EAX + EDX*8]' failed."); }
public void MOVZX_reg16_mem8 () { // MOVZX CX, Byte [ECX*1] // MOVZX (R16.CX, new ByteMemory(null, null, R32.ECX, 0)) MemoryStream memoryStream = new MemoryStream (); Assembly asm = new Assembly (); asm.MOVZX (R16.CX, new ByteMemory (null, null, R32.ECX, 0)); asm.Encode (memoryStream); byte [] target = new byte [] { 0x66, 0xf, 0xb6, 0x9 }; Assert.IsTrue (CompareData (memoryStream, target), "'MOVZX CX, Byte [ECX*1]' failed."); }