public Identifier AluRegister(IntelRegister reg, PrimitiveType vt) { return frame.EnsureRegister(reg.GetPart(vt)); }
private void Given_RegValue(IntelRegister reg, uint value) { emu.WriteRegister(reg, value); }
private Identifier Reg(IntelRegister r) { return new Identifier(r.Name, r.DataType, r); }
private void EmitPop(IntelRegister reg) { RewritePop(orw.AluRegister(reg), instrCur.dataWidth); }
private void RewritePush(IntelRegister reg) { RewritePush(instrCur.dataWidth, orw.AluRegister(reg)); }
private IntelInstruction CreatePush(IntelRegister reg) { IntelInstruction inst = new IntelInstruction( Opcode.push, reg.DataType, reg.DataType, new RegisterOperand(reg)); return inst; }
private IntelInstruction CreateMov(IntelRegister regDst, IntelRegister regSrc) { IntelInstruction inst = new IntelInstruction( Opcode.mov, PrimitiveType.Word16, PrimitiveType.Word16, new RegisterOperand(regDst), new RegisterOperand(regSrc)); return inst; }
public void Add(IntelRegister reg, int constant) { ProcessBinop( 0x00, new ParsedOperand(new RegisterOperand(reg)), new ParsedOperand(new ImmediateOperand(X86Assembler.IntegralConstant(constant)))); }