X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2Fregisters%2Fam2910%2Fstack%2FStackCellRegister.java;fp=plugins%2Fnet.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2Fregisters%2Fam2910%2Fstack%2FStackCellRegister.java;h=2ec544a3d929d6ce0c44453be0267a7c5375b260;hb=1b62caf522e287bf67d26d5410580245fb8feec7;hp=0000000000000000000000000000000000000000;hpb=ee699a26797fe00e442e41d980d501807a7e092f;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2910/stack/StackCellRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2910/stack/StackCellRegister.java new file mode 100644 index 00000000..2ec544a3 --- /dev/null +++ b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2910/stack/StackCellRegister.java @@ -0,0 +1,36 @@ +package net.mograsim.logic.model.am2900.machine.registers.am2910.stack; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import net.mograsim.logic.model.am2900.machine.registers.Am2900Register; +import net.mograsim.machine.registers.HighLevelStateBasedRegister; + +public class StackCellRegister extends HighLevelStateBasedRegister implements Am2900Register +{ + public static final List instancesCorrectOrder; + + static + { + List instancesCorrectOrderModifiable = new ArrayList<>(); + for (int i = 0; i < 5; i++) + instancesCorrectOrderModifiable.add(new StackCellRegister(i)); + instancesCorrectOrder = Collections.unmodifiableList(instancesCorrectOrderModifiable); + } + + private StackCellRegister(int index) + { + super("cell #" + index, "am2910.stack.c" + getIndexAsBitstring(index) + ".q", 12); + + } + + private static String getIndexAsBitstring(int index) + { + StringBuilder sb = new StringBuilder(); + sb.append((index & 0b100) != 0 ? '1' : '0'); + sb.append((index & 0b010) != 0 ? '1' : '0'); + sb.append((index & 0b001) != 0 ? '1' : '0'); + return sb.toString(); + } +} \ No newline at end of file