You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
57 lines
1.7 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace DisComputer
|
|
{
|
|
/// <summary>
|
|
/// 运算单元
|
|
/// </summary>
|
|
public class ALUUnit : BasicUnit,CommondUnitInterface
|
|
{
|
|
private string val;
|
|
|
|
public void CommandRegist()
|
|
{
|
|
CommandData data = VonNeumann.data;
|
|
switch (data.command)
|
|
{
|
|
case CommandType.Add:
|
|
VonNeumann.data.result = VonNeumann.data.num01 + VonNeumann.data.num02;
|
|
val = "add " + VonNeumann.data.num01.ToString() + " + " + VonNeumann.data.num02.ToString();
|
|
break;
|
|
case CommandType.Div:
|
|
VonNeumann.data.result = VonNeumann.data.num01 / VonNeumann.data.num02;
|
|
val = "div " + VonNeumann.data.num01.ToString() + " ÷ " + VonNeumann.data.num02.ToString();
|
|
break;
|
|
case CommandType.Mul:
|
|
VonNeumann.data.result = VonNeumann.data.num01 * VonNeumann.data.num02;
|
|
val = "mul " + VonNeumann.data.num01.ToString() + " x " + VonNeumann.data.num02.ToString();
|
|
break;
|
|
case CommandType.Sub:
|
|
VonNeumann.data.result = VonNeumann.data.num01 - VonNeumann.data.num02;
|
|
val = "sub " + VonNeumann.data.num01.ToString() + " - " + VonNeumann.data.num02.ToString();
|
|
break;
|
|
}
|
|
|
|
SetInfoTxt(val);
|
|
}
|
|
|
|
public override void Start()
|
|
{
|
|
base.Start();
|
|
}
|
|
|
|
public override void Active(params object[] data)
|
|
{
|
|
base.Active(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|