public EmitMultiplyWithAccumulate ( ConditionCode conditionCode, bool setCondition, int firstRegister, int destinationRegister, int secondRegister, int accumulateRegister ) : void | ||
conditionCode | ConditionCode | |
setCondition | bool | |
firstRegister | int | |
destinationRegister | int | |
secondRegister | int | |
accumulateRegister | int | |
리턴 | void |
/// <summary> /// Emits the multiply instruction. /// </summary> /// <param name="node">The node.</param> /// <param name="emitter">The emitter.</param> protected void EmitMultiplyInstruction(InstructionNode node, MachineCodeEmitter emitter) { if (!node.Operand3.IsRegister) { emitter.EmitMultiply(node.ConditionCode, node.UpdateStatus, node.Operand1.Register.Index, node.Result.Register.Index, node.Operand2.Register.Index); } else { emitter.EmitMultiplyWithAccumulate(node.ConditionCode, node.UpdateStatus, node.Operand1.Register.Index, node.Result.Register.Index, node.Operand2.Register.Index, node.Operand3.Register.Index); } }
/// <summary> /// Emits the multiply instruction. /// </summary> /// <param name="node">The node.</param> /// <param name="emitter">The emitter.</param> protected void EmitMultiplyInstruction(InstructionNode node, MachineCodeEmitter emitter) { if (!node.Operand3.IsCPURegister) { emitter.EmitMultiply(node.ConditionCode, node.UpdateStatus, node.Operand1.Register.Index, node.Result.Register.Index, node.Operand2.Register.Index); } else { emitter.EmitMultiplyWithAccumulate(node.ConditionCode, node.UpdateStatus, node.Operand1.Register.Index, node.Result.Register.Index, node.Operand2.Register.Index, node.Operand3.Register.Index); } }