Added Am2904 registers
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Sun, 6 Oct 2019 23:40:37 +0000 (01:40 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Sun, 6 Oct 2019 23:40:37 +0000 (01:40 +0200)
15 files changed:
plugins/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/AbstractAm2900MachineDefinition.java
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/Am2904RegisterGroup.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MCRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MNRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MOVRRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegisterGroup.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MZRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muCRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muNRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muOVRRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegister.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegisterGroup.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muZRegister.java [new file with mode: 0644]

index 302a687..bf9b692 100644 (file)
@@ -11,6 +11,9 @@ Export-Package: net.mograsim.logic.model.am2900,
  net.mograsim.logic.model.am2900.machine,
  net.mograsim.logic.model.am2900.machine.registers,
  net.mograsim.logic.model.am2900.machine.registers.am2901,
+ net.mograsim.logic.model.am2900.machine.registers.am2904,
+ net.mograsim.logic.model.am2900.machine.registers.am2904.msr,
+ net.mograsim.logic.model.am2900.machine.registers.am2904.musr,
  net.mograsim.logic.model.examples
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Require-Bundle: org.eclipse.osgi,
index 3469b2d..7ad92b4 100644 (file)
@@ -5,6 +5,7 @@ import java.util.Collections;
 import java.util.List;
 
 import net.mograsim.logic.model.am2900.machine.registers.am2901.Am2901RegisterGroup;
+import net.mograsim.logic.model.am2900.machine.registers.am2904.Am2904RegisterGroup;
 import net.mograsim.logic.model.model.LogicModelModifiable;
 import net.mograsim.machine.ISASchema;
 import net.mograsim.machine.MachineDefinition;
@@ -28,7 +29,8 @@ public class AbstractAm2900MachineDefinition implements MachineDefinition
                unsortedRegisters = Collections.unmodifiableList(unsortedRegistersModifiable);
                List<RegisterGroup> registerGroupsModifiable = new ArrayList<>();
                registerGroupsModifiable.add(Am2901RegisterGroup.instance);
-               // TODO Am2904, Am2910
+               registerGroupsModifiable.add(Am2904RegisterGroup.instance);
+               // TODO Am2910
                registerGroups = Collections.unmodifiableList(registerGroupsModifiable);
        }
 
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/Am2904RegisterGroup.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/Am2904RegisterGroup.java
new file mode 100644 (file)
index 0000000..9f30a45
--- /dev/null
@@ -0,0 +1,15 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904;
+
+import net.mograsim.logic.model.am2900.machine.registers.am2904.msr.MSRRegisterGroup;
+import net.mograsim.logic.model.am2900.machine.registers.am2904.musr.muSRRegisterGroup;
+import net.mograsim.machine.registers.SimpleRegisterGroup;
+
+public class Am2904RegisterGroup extends SimpleRegisterGroup
+{
+       public static final Am2904RegisterGroup instance = new Am2904RegisterGroup();
+
+       private Am2904RegisterGroup()
+       {
+               super("Am2904", MSRRegisterGroup.instance, muSRRegisterGroup.instance);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MCRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MCRegister.java
new file mode 100644 (file)
index 0000000..8fc2540
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class MCRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final MCRegister instance = new MCRegister();
+
+       private MCRegister()
+       {
+               super("C", "am2904.msr.q2", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MNRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MNRegister.java
new file mode 100644 (file)
index 0000000..4df3e84
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class MNRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final MNRegister instance = new MNRegister();
+
+       private MNRegister()
+       {
+               super("N", "am2904.msr.q3", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MOVRRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MOVRRegister.java
new file mode 100644 (file)
index 0000000..9243edb
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class MOVRRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final MOVRRegister instance = new MOVRRegister();
+
+       private MOVRRegister()
+       {
+               super("OVR", "am2904.msr.q4", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegister.java
new file mode 100644 (file)
index 0000000..f25260f
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class MSRRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final MSRRegister instance = new MSRRegister();
+
+       private MSRRegister()
+       {
+               super("MSR", "am2904.msr.q", 4);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegisterGroup.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MSRRegisterGroup.java
new file mode 100644 (file)
index 0000000..015a3c0
--- /dev/null
@@ -0,0 +1,13 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.machine.registers.SimpleRegisterGroup;
+
+public class MSRRegisterGroup extends SimpleRegisterGroup
+{
+       public static final MSRRegisterGroup instance = new MSRRegisterGroup();
+
+       private MSRRegisterGroup()
+       {
+               super("MSR", MSRRegister.instance, MZRegister.instance, MCRegister.instance, MNRegister.instance, MOVRRegister.instance);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MZRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/msr/MZRegister.java
new file mode 100644 (file)
index 0000000..691f86d
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.msr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class MZRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final MZRegister instance = new MZRegister();
+
+       private MZRegister()
+       {
+               super("Z", "am2904.msr.q1", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muCRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muCRegister.java
new file mode 100644 (file)
index 0000000..9c0a45b
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class muCRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final muCRegister instance = new muCRegister();
+
+       private muCRegister()
+       {
+               super("C", "am2904.musr.q2", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muNRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muNRegister.java
new file mode 100644 (file)
index 0000000..f0d4c9b
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class muNRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final muNRegister instance = new muNRegister();
+
+       private muNRegister()
+       {
+               super("N", "am2904.musr.q3", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muOVRRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muOVRRegister.java
new file mode 100644 (file)
index 0000000..54bac10
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class muOVRRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final muOVRRegister instance = new muOVRRegister();
+
+       private muOVRRegister()
+       {
+               super("OVR", "am2904.musr.q4", 1);
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegister.java
new file mode 100644 (file)
index 0000000..0134c9c
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class muSRRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final muSRRegister instance = new muSRRegister();
+
+       private muSRRegister()
+       {
+               super("\u00b5SR", "am2904.musr.q", 4); // 00b5 = micro symbol
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegisterGroup.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muSRRegisterGroup.java
new file mode 100644 (file)
index 0000000..396af05
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.machine.registers.SimpleRegisterGroup;
+
+public class muSRRegisterGroup extends SimpleRegisterGroup
+{
+       public static final muSRRegisterGroup instance = new muSRRegisterGroup();
+
+       private muSRRegisterGroup()
+       {
+               super("\u00b5SR", muSRRegister.instance, muZRegister.instance, muCRegister.instance, muNRegister.instance, muOVRRegister.instance);
+               // 00b5 = micro symbol
+       }
+}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muZRegister.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/registers/am2904/musr/muZRegister.java
new file mode 100644 (file)
index 0000000..22fe0d4
--- /dev/null
@@ -0,0 +1,14 @@
+package net.mograsim.logic.model.am2900.machine.registers.am2904.musr;
+
+import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
+import net.mograsim.machine.registers.HighLevelStateBasedRegister;
+
+public class muZRegister extends HighLevelStateBasedRegister implements Am2900Register
+{
+       public static final muZRegister instance = new muZRegister();
+
+       private muZRegister()
+       {
+               super("Z", "am2904.musr.q1", 1);
+       }
+}
\ No newline at end of file