import net.mograsim.logic.model.am2900.machine.Am2900MainMemoryDefinition;
import net.mograsim.logic.model.am2900.machine.Am2900MicroInstructionDefinition;
import net.mograsim.logic.model.am2900.machine.Am2900MicroInstructionMemoryDefinition;
-import net.mograsim.logic.model.am2900.machine.StrictAm2900MachineDefinition;
+import net.mograsim.logic.model.am2900.machine.Am2900ExpertMachineDefinition;
import net.mograsim.logic.model.am2900.machine.registers.am2901.NumberedRegister;
+import net.mograsim.logic.model.preferences.DefaultRenderPreferences;
import net.mograsim.machine.MainMemory;
import net.mograsim.machine.mi.MicroInstruction;
import net.mograsim.machine.mi.MicroInstructionDefinition;
public void setupMachine() throws IOException
{
Am2900Loader.setup();
- mach = new StrictAm2900MachineDefinition().createNew();
+ mach = new Am2900ExpertMachineDefinition().createNew();
mpm = MicroInstructionMemoryParser.parseMemory(Am2900MicroInstructionMemoryDefinition.instance,
TestGCD.class.getResourceAsStream("gcd.mpm"));
ram = new WordAddressableMemory(Am2900MainMemoryDefinition.instance);
private void startGUI()
{
- new Thread(() -> new LogicUIStandaloneGUI(mach.getModel()).run(), "GUI thread").start();
+ new Thread(() -> new LogicUIStandaloneGUI(mach.getModel(), new DefaultRenderPreferences()).run(), "GUI thread").start();
}
@Test
checkGCD(48820, 8480);
checkGCD(21420, 11288);
checkGCD(15862, 21219);
+ checkGCD(15525, 57040);
}
@ParameterizedTest
private void checkGCD(int euclidA, int euclidB) throws InterruptedException
{
int exp = gcd(euclidA, euclidB);
- System.out.println("Checking gcd(" + euclidA + ", " + euclidB + ") + (expected " + exp + ")");
+ System.out.println("Checking gcd(" + euclidA + ", " + euclidB + "); expected " + exp);
int act = executeGCD(euclidA, euclidB);
assertEquals(exp, act);
}