X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2FAm2900MicroInstructionDefinition.java;h=0b6a26f82acbe3e7c00f0cc03d7b55e17eb44071;hb=fe8591c43bbc5487d0b8bf6b6f9d6501031af604;hp=b67e93ded455dc605e2d836ef6eaea56da04c4a4;hpb=3278dbc72d3d3c803dc5ad2c0dfedc42b277a3d6;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900MicroInstructionDefinition.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900MicroInstructionDefinition.java index b67e93de..0b6a26f8 100644 --- a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900MicroInstructionDefinition.java +++ b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900MicroInstructionDefinition.java @@ -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