anonymous No title
No License Java
2020年08月17日
Copy
package sep3.model.cycle;

import sep3.Model;
import sep3.model.CPU;
import sep3.model.operation.InstructionSet;

public class ReadFromOpe2 extends State {
	@Override
	public State clockstep(Model model) {
		//System.out.println("%% IF0 %%");
		// ステータスカウンタの設定。次の2行は、すべての状態において、最初に必ず記述すること
		CPU cpu = model.getCPU();
		cpu.getRegister(CPU.REG_SC).setInitValue(StateFactory.SC_FF2);

		//MDRからAバスへ送る
		cpu.getABusSelector().selectFrom(CPU.REG_MDR);
		//ALUはAバスの値をそのままSバスへ流す
		cpu.getALU().operate(InstructionSet.OP_THRA);
		//Sバスの値をB0へ送る
		cpu.getSBusSelector().selectTo(CPU.REG_B0);


		// 次の状態へ
		return cpu.getStateFactory().getState(StateFactory.SC_HLT);
	}

}
package sep3.model.cycle;

import sep3.Model;
import sep3.model.CPU;
import sep3.model.operation.InstructionSet;

public class ReadFromOpe2 extends State {
	@Override
	public State clockstep(Model model) {
		//System.out.println("%% IF0 %%");
		// ステータスカウンタの設定。次の2行は、すべての状態において、最初に必ず記述すること
		CPU cpu = model.getCPU();
		cpu.getRegister(CPU.REG_SC).setInitValue(StateFactory.SC_FF2);

		//MDRからAバスへ送る
		cpu.getABusSelector().selectFrom(CPU.REG_MDR);
		//ALUはAバスの値をそのままSバスへ流す
		cpu.getALU().operate(InstructionSet.OP_THRA);
		//Sバスの値をB0へ送る
		cpu.getSBusSelector().selectTo(CPU.REG_B0);


		// 次の状態へ
		return cpu.getStateFactory().getState(StateFactory.SC_HLT);
	}

}

No one still commented. Please first comment.