Added register listeners
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / src / net / mograsim / logic / model / am2900 / machine / Am2900MicroInstructionDefinition.java
index b67e93d..0b6a26f 100644 (file)
@@ -1,5 +1,6 @@
 package net.mograsim.logic.model.am2900.machine;
 
+import java.util.Arrays;
 import java.util.Optional;
 
 import net.mograsim.machine.mi.MicroInstructionDefinition;
@@ -21,8 +22,8 @@ public class Am2900MicroInstructionDefinition implements MicroInstructionDefinit
                        .add("AQ", "AB", "ZQ", "ZB", "ZA", "DA", "DQ", "DZ").build();
        private static final MnemonicFamily am2901FuncInstructions = new MnemonicFamilyBuilder(3).addX().setXDefault()
                        .add("ADD", "SUBR", "SUBS", "OR", "AND", "NOTRS", "EXOR", "EXNOR").build();
-       private static final MnemonicFamily am2901DestInstructions = new MnemonicFamilyBuilder(3).addX().setXDefault()
-                       .add("QREG", "NOP", "RAMA", "RAMF", "RAMQD", "RAMD", "RAMQU", "RAMU").build();
+       private static final MnemonicFamily am2901DestInstructions = new MnemonicFamilyBuilder(3).addX()
+                       .add("QREG", "NOP", "RAMA", "RAMF", "RAMQD", "RAMD", "RAMQU", "RAMU").setDefault("NOP").build();
        private static final IntegerClassification register = new IntegerClassification(0, 4);
        private static final BooleanClassification registerSelect = new BooleanClassification("MR", "IR");
        private static final BooleanClassification abus = new BooleanClassification(true, "H", "AB");
@@ -60,9 +61,9 @@ public class Am2900MicroInstructionDefinition implements MicroInstructionDefinit
                                        "Load_Load_I_CandnotZ", "Load_Load_I_N", "Load_Load_I_notN")
                        .build();
        private static final BooleanClassification ccen = new BooleanClassification(true, "PS", "C");
-       private static final MnemonicFamily am2910Instructions = new MnemonicFamilyBuilder(4).addX().setXDefault()
+       private static final MnemonicFamily am2910Instructions = new MnemonicFamilyBuilder(4).addX()
                        .add("JZ", "CJS", "JMAP", "CJP", "PUSH", "JSRP", "CJV", "JRP", "RFCT", "RPCT", "CRTN", "CJPP", "LDCT", "LOOP", "CONT", "TWB")
-                       .build();
+                       .setDefault("CONT").build();
 
        private static final IntegerClassification constant_12bit = new IntegerClassification(0, 12);
        private static final IntegerClassification constant_16bit = new IntegerClassification(0, 16);
@@ -89,7 +90,7 @@ public class Am2900MicroInstructionDefinition implements MicroInstructionDefinit
        @Override
        public ParameterClassification[] getParameterClassifications()
        {
-               return classes;
+               return Arrays.copyOf(classes, classes.length);
        }
 
        @Override