public LoadConstant(ArmConditionCode condition, Variable dst, uint constant) : base(condition) { Constant = constant; VariableDefs.Add(dst); Operands.Add((true, dst)); }
public FunctionEntrance(Function func, Variable[] regVars) : base(ArmConditionCode.ARM_CC_AL) { VariableDefs.Add(regVars[0]); VariableDefs.Add(regVars[1]); VariableDefs.Add(regVars[2]); VariableDefs.Add(regVars[3]); VariableDefs.Add(regVars[13]); VariableDefs.Add(regVars[14]); foreach (var stackVar in func.StackVariables) { if (stackVar.Address >= 0) { VariableDefs.Add(stackVar); } } }
public LongAdd(Variable dstLo, Variable dstHi, Variable opALo, Variable opAHi, Operand opBLo, Operand opBHi) : base(ArmConditionCode.ARM_CC_AL) { Operands.Add((true, dstLo)); Operands.Add((true, dstHi)); Operands.Add((false, opALo)); Operands.Add((false, opAHi)); Operands.Add((false, opBLo)); Operands.Add((false, opBHi)); VariableUses.Add(opALo); VariableUses.Add(opAHi); if (opBLo is Variable) { VariableUses.Add((Variable)opBLo); } if (opBHi is Variable) { VariableUses.Add((Variable)opBHi); } VariableDefs.Add(dstLo); VariableDefs.Add(dstHi); }