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); }
public PredecrementMemoryOperand Pre(RegisterOperand a) { return new PredecrementMemoryOperand(null, (AddressRegister) a.Register); }
public PostIncrementMemoryOperand Post(RegisterOperand a) { return new PostIncrementMemoryOperand(null, (AddressRegister) a.Register); }
public MemoryOperand Mem(int offset, RegisterOperand rop) { var a = (AddressRegister) rop.Register; return new MemoryOperand(null, a, Constant.Int16((short)offset)); throw new NotImplementedException(); }
public Identifier AluRegister(RegisterOperand reg) { return frame.EnsureRegister(reg.Register); }
public void Lea(MachineOperand ea, RegisterOperand aReg) { Emit(0x41C0 | Ea(ea, 0) | AReg(aReg) << 9); }
public void Cmp_l(MachineOperand eaSrc, RegisterOperand dDst) { Emit(0xB080 | Ea(eaSrc, 0) | DReg(dDst) << 9); }
public void Adda_w(MachineOperand eaSrc, RegisterOperand aDst) { Emit(0xD0C0 | Ea(eaSrc, 0) | AReg(aDst) << 9); }
public void Stbu(RegisterOperand rS, short offset, RegisterOperand rA) { Add(new PowerPcInstruction(Opcode.stbu, rS, Mem(rA, offset), null, false)); }
public void Stbux(RegisterOperand rS, RegisterOperand rA, RegisterOperand rB) { Add(new PowerPcInstruction(Opcode.stbux, rS, rA, rB, false)); }
public void Mtctr(RegisterOperand r) { Add(new PowerPcInstruction(Opcode.mtctr, r, null, null, false)); }
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)); }
public void Lis(RegisterOperand r, ushort uimm) { Add(new PowerPcInstruction(Opcode.oris, r, r, new ImmediateOperand(Constant.Word16(uimm)), false)); }
public void Add_(RegisterOperand rT, RegisterOperand rA, RegisterOperand rB) { Add(new PowerPcInstruction(Opcode.add, rT, rA, rB, true)); }
public void Oris(RegisterOperand rA, RegisterOperand rS, ushort val) { Add(new PowerPcInstruction(Opcode.oris, rA, rS, new ImmediateOperand(Constant.Word16(val)), false)); }
public void Add_w(MachineOperand eaSrc, RegisterOperand dDst) { Emit(0xD040 | Ea(eaSrc, 0) | DReg(dDst) << 9); }
public void Add_l(RegisterOperand dSrc, MachineOperand eaDst) { Emit(0xD080 | Ea(eaDst, 0) | DReg(dSrc) << 9); }
private MemoryOperand Mem(RegisterOperand baseReg, short offset) { return new MemoryOperand(baseReg.Register.DataType, baseReg.Register, Constant.Int16(offset)); }
public void Bchg(RegisterOperand dSrc, MachineOperand eaDst) { Emit(0x0140 | DReg(dSrc) << 9 | Ea(eaDst)); }
private MemoryOperand Mem16(RegisterOperand reg, int offset) { return new MemoryOperand(PrimitiveType.Word16, reg.Register, Constant.Create(reg.Register.DataType, offset)); }
public void Cmpa_l(MachineOperand eaSrc, RegisterOperand aDst) { Emit(0xB1C0 | Ea(eaSrc, 0) | AReg(aDst) << 9); }
public MachineOperand Mem(RegisterOperand rop) { var a = (AddressRegister) rop.Register; return new MemoryOperand(null, a); }
public void Lsl_l(int c, RegisterOperand dDst) { Emit(0xE188 | SmallQ(c) << 9 | DReg(dDst)); }
public void EmitModRM(int reg, RegisterOperand op) { reg <<= 3; emitter.EmitByte(0xC0 | reg | X86Assembler.RegisterEncoding(op.Register)); }