MOV() public method

MOV mem8,imm8
public MOV ( ByteMemory target, Byte source ) : void
target ByteMemory
source Byte
return void
Example #1
0
	public void MOV_segreg_rmreg16 ()
	{
		// MOV DS, DI
		// MOV (Seg.DS, R16.DI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (Seg.DS, R16.DI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x8e, 0xdf };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV DS, DI' failed.");
	}
Example #2
0
	public void MOV_mem16_reg16 ()
	{
		// MOV [CS:ESP + EBX*8], AX
		// MOV (new WordMemory(Seg.CS, R32.ESP, R32.EBX, 3), R16.AX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new WordMemory (Seg.CS, R32.ESP, R32.EBX, 3), R16.AX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0x66, 0x89, 0x4, 0xdc };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV [CS:ESP + EBX*8], AX' failed.");
	}
Example #3
0
	public void MOV_rmreg16_reg16 ()
	{
		// MOV SP, SP
		// MOV (R16.SP, R16.SP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R16.SP, R16.SP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x89, 0xe4 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV SP, SP' failed.");
	}
Example #4
0
	public void MOV_rmreg16_segreg ()
	{
		// MOV DX, GS
		// MOV (R16.DX, Seg.GS)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R16.DX, Seg.GS);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x8c, 0xea };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV DX, GS' failed.");
	}
Example #5
0
	public void MOV_CR0234_reg32 ()
	{
		// MOV CR0, ECX
		// MOV (CR.CR0, R32.ECX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (CR.CR0, R32.ECX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x22, 0xc1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV CR0, ECX' failed.");
	}
Example #6
0
	public void MOV_TR34567_reg32 ()
	{
		// MOV TR5, EBP
		// MOV (TR.TR5, R32.EBP)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (TR.TR5, R32.EBP);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x26, 0xed };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV TR5, EBP' failed.");
	}
Example #7
0
	public void MOV_reg16_imm16 ()
	{
		// MOV BX, 0x35d
		// MOV (R16.BX, 0x35d)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R16.BX, 0x35d);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xbb, 0x5d, 0x3 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV BX, 0x35d' failed.");
	}
Example #8
0
	public void MOV_reg32_DR012367 ()
	{
		// MOV ECX, DR4
		// MOV (R32.ECX, DR.DR4)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.ECX, DR.DR4);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x21, 0xe1 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV ECX, DR4' failed.");
	}
Example #9
0
	public void MOV_reg32_mem32 ()
	{
		// MOV ESI, [EBP*2]
		// MOV (R32.ESI, new DWordMemory(null, null, R32.EBP, 1))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.ESI, new DWordMemory (null, null, R32.EBP, 1));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x8b, 0x74, 0x2d, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV ESI, [EBP*2]' failed.");
	}
Example #10
0
	public void MOV_reg8_imm8 ()
	{
		// MOV BL, 0x2
		// MOV (R8.BL, 0x2)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R8.BL, 0x2);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xb3, 0x2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV BL, 0x2' failed.");
	}
Example #11
0
	public void MOV_reg16_mem16 ()
	{
		// MOV CX, [EBP]
		// MOV (R16.CX, new WordMemory(null, R32.EBP, null, 0))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R16.CX, new WordMemory (null, R32.EBP, null, 0));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0x8b, 0x4d, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV CX, [EBP]' failed.");
	}
Example #12
0
	public void MOV_reg8_mem8 ()
	{
		// MOV BH, [EDX*8]
		// MOV (R8.BH, new ByteMemory(null, null, R32.EDX, 3))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R8.BH, new ByteMemory (null, null, R32.EDX, 3));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x8a, 0x3c, 0xd5, 0x0, 0x0, 0x0, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV BH, [EDX*8]' failed.");
	}
Example #13
0
	public void MOV_mem32_reg32 ()
	{
		// MOV [EDI*2], ECX
		// MOV (new DWordMemory(null, null, R32.EDI, 1), R32.ECX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new DWordMemory (null, null, R32.EDI, 1), R32.ECX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x89, 0xc, 0x3f };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV [EDI*2], ECX' failed.");
	}
Example #14
0
	public void MOV_segreg_mem32 ()
	{
		// MOV FS, [SS:EDX + EDI*8 + 0x12345678]
		// MOV (Seg.FS, new DWordMemory(Seg.SS, R32.EDX, R32.EDI, 3, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (Seg.FS, new DWordMemory (Seg.SS, R32.EDX, R32.EDI, 3, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x36, 0x8e, 0xa4, 0xfa, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV FS, [SS:EDX + EDI*8 + 0x12345678]' failed.");
	}
Example #15
0
	public void MOV_reg32_imm32 ()
	{
		// MOV EDI, 0x256dd83
		// MOV (R32.EDI, 0x256dd83)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.EDI, 0x256dd83);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xbf, 0x83, 0xdd, 0x56, 0x2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV EDI, 0x256dd83' failed.");
	}
Example #16
0
	public void MOV_reg32_CR0234 ()
	{
		// MOV EAX, CR2
		// MOV (R32.EAX, CR.CR2)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.EAX, CR.CR2);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x20, 0xd0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV EAX, CR2' failed.");
	}
Example #17
0
	public void MOV_mem8_imm8 ()
	{
		// MOV Byte [CS:ESI], 0x7
		// MOV (new ByteMemory(Seg.CS, R32.ESI, null, 0), 0x7)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new ByteMemory (Seg.CS, R32.ESI, null, 0), 0x7);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x2e, 0xc6, 0x6, 0x7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV Byte [CS:ESI], 0x7' failed.");
	}
Example #18
0
	public void MOV_reg32_TR34567 ()
	{
		// MOV ESP, TR3
		// MOV (R32.ESP, TR.TR3)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.ESP, TR.TR3);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x24, 0xdc };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV ESP, TR3' failed.");
	}
Example #19
0
	public void MOV_mem16_imm16 ()
	{
		// MOV Word [ESI], 0xb89
		// MOV (new WordMemory(null, R32.ESI, null, 0), 0xb89)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new WordMemory (null, R32.ESI, null, 0), 0xb89);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x66, 0xc7, 0x6, 0x89, 0xb };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV Word [ESI], 0xb89' failed.");
	}
Example #20
0
	public void MOV_DR012367_reg32 ()
	{
		// MOV DR4, EDI
		// MOV (DR.DR4, R32.EDI)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (DR.DR4, R32.EDI);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xf, 0x23, 0xe7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV DR4, EDI' failed.");
	}
Example #21
0
	public void MOV_mem32_imm32 ()
	{
		// MOV DWord [EDX*1 + 0x12345678], 0xc06f46b
		// MOV (new DWordMemory(null, null, R32.EDX, 0, 0x12345678), 0xc06f46b)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new DWordMemory (null, null, R32.EDX, 0, 0x12345678), 0xc06f46b);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0xc7, 0x82, 0x78, 0x56, 0x34, 0x12, 0x6b, 0xf4, 0x6, 0xc };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV DWord [EDX*1 + 0x12345678], 0xc06f46b' failed.");
	}
Example #22
0
	public void MOV_rmreg8_reg8 ()
	{
		// MOV BH, AH
		// MOV (R8.BH, R8.AH)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R8.BH, R8.AH);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x88, 0xe7 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV BH, AH' failed.");
	}
Example #23
0
	public void MOV_mem16_segreg ()
	{
		// MOV [GS:EBP + ECX*1], DS
		// MOV (new WordMemory(Seg.GS, R32.EBP, R32.ECX, 0), Seg.DS)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new WordMemory (Seg.GS, R32.EBP, R32.ECX, 0), Seg.DS);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x65, 0x8c, 0x5c, 0xd, 0x0 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV [GS:EBP + ECX*1], DS' failed.");
	}
Example #24
0
	public void MOV_rmreg32_reg32 ()
	{
		// MOV EDX, EAX
		// MOV (R32.EDX, R32.EAX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.EDX, R32.EAX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x89, 0xc2 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV EDX, EAX' failed.");
	}
Example #25
0
	public void MOV_mem32_segreg ()
	{
		// MOV [ES:0x12345678], GS
		// MOV (new DWordMemory(Seg.ES, null, null, 0, 0x12345678), Seg.GS)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new DWordMemory (Seg.ES, null, null, 0, 0x12345678), Seg.GS);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x26, 0x8c, 0x2d, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV [ES:0x12345678], GS' failed.");
	}
Example #26
0
	public void MOV_rmreg32_segreg ()
	{
		// MOV EBP, SS
		// MOV (R32.EBP, Seg.SS)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (R32.EBP, Seg.SS);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x8c, 0xd5 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV EBP, SS' failed.");
	}
Example #27
0
	public void MOV_segreg_mem16 ()
	{
		// MOV ES, [DS:0x12345678]
		// MOV (Seg.ES, new WordMemory(Seg.DS, null, null, 0, 0x12345678))
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (Seg.ES, new WordMemory (Seg.DS, null, null, 0, 0x12345678));
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x3e, 0x8e, 0x5, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV ES, [DS:0x12345678]' failed.");
	}
Example #28
0
	public void MOV_segreg_rmreg32 ()
	{
		// MOV DS, EAX
		// MOV (Seg.DS, R32.EAX)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (Seg.DS, R32.EAX);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x8e, 0xd8 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV DS, EAX' failed.");
	}
Example #29
0
	public void MOV_mem8_reg8 ()
	{
		// MOV [EDI + 0x12345678], CL
		// MOV (new ByteMemory(null, R32.EDI, null, 0, 0x12345678), R8.CL)
		MemoryStream memoryStream = new MemoryStream ();
		Assembly asm = new Assembly ();
		asm.MOV (new ByteMemory (null, R32.EDI, null, 0, 0x12345678), R8.CL);
		asm.Encode (memoryStream);
		byte [] target = new byte [] { 0x88, 0x8f, 0x78, 0x56, 0x34, 0x12 };
		Assert.IsTrue (CompareData (memoryStream, target), "'MOV [EDI + 0x12345678], CL' failed.");
	}