Ejemplo n.º 1
0
		public void X86Orw32_Register()
		{
			var r = new RegisterOperand(Registers.ebp);
			var id = (Identifier) orw.Transform(null, r, r.Width, state);
			Assert.AreEqual("ebp", id.Name);
			Assert.IsNotNull(proc.Frame.FramePointer);
		}
Ejemplo n.º 2
0
 public Identifier AluRegister(RegisterOperand reg)
 {
     return frame.EnsureRegister(reg.Register);
 }
Ejemplo n.º 3
0
		public void EmitModRM(int reg, RegisterOperand op)
		{
			reg <<= 3;
			emitter.EmitByte(0xC0 | reg | X86Assembler.RegisterEncoding(op.Register));
		}
Ejemplo n.º 4
0
 public void Stbu(RegisterOperand rS, short offset, RegisterOperand rA)
 {
     Add(new PowerPcInstruction(Opcode.stbu, rS, Mem(rA, offset), null, false));
 }
Ejemplo n.º 5
0
 private MemoryOperand Mem(RegisterOperand baseReg, short offset)
 {
     return new MemoryOperand(baseReg.Register.DataType, baseReg.Register, Constant.Int16(offset));
 }
Ejemplo n.º 6
0
 public void Mtctr(RegisterOperand r)
 {
     Add(new PowerPcInstruction(Opcode.mtctr, r, null, null, false));
 }
Ejemplo n.º 7
0
 public void Stbux(RegisterOperand rS, RegisterOperand rA, RegisterOperand rB)
 {
     Add(new PowerPcInstruction(Opcode.stbux, rS, rA, rB, false));
 }
Ejemplo n.º 8
0
 public void Lwz(RegisterOperand rD, short offset, RegisterOperand rA)
 {
     Add(new PowerPcInstruction(Opcode.lwz, rD, new MemoryOperand(rD.Register.DataType, rA.Register, Constant.Int16(offset)), null, false));
 }
Ejemplo n.º 9
0
 public void Lis(RegisterOperand r, ushort uimm)
 {
     Add(new PowerPcInstruction(Opcode.oris, r, r, new ImmediateOperand(Constant.Word16(uimm)), false));
 }
Ejemplo n.º 10
0
 public void Add_(RegisterOperand rT, RegisterOperand rA, RegisterOperand rB)
 {
     Add(new PowerPcInstruction(Opcode.add, rT, rA, rB, true));
 }
Ejemplo n.º 11
0
 public void Oris(RegisterOperand rA, RegisterOperand rS, ushort val)
 {
     Add(new PowerPcInstruction(Opcode.oris, rA, rS, new ImmediateOperand(Constant.Word16(val)), false));
 }
Ejemplo n.º 12
0
 private MemoryOperand Mem16(RegisterOperand reg, int offset)
 {
     return new MemoryOperand(PrimitiveType.Word16, reg.Register, Constant.Create(reg.Register.DataType, offset));
 }