|
@@ -1,7 +1,14 @@
|
|
|
package de.mcs.tools.sps.emulator.model;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
public class WorkingModel {
|
|
|
|
|
|
+ public enum WORKINGSTATE {
|
|
|
+ NN, EMULATE
|
|
|
+ }
|
|
|
+
|
|
|
private byte registerA;
|
|
|
private byte registerB;
|
|
|
private byte registerC;
|
|
@@ -13,13 +20,17 @@ public class WorkingModel {
|
|
|
private short raddress;
|
|
|
private short address;
|
|
|
|
|
|
+ private List<Integer> stack = new ArrayList<>();
|
|
|
+ private int[] bin2SrcLine;
|
|
|
+ private WORKINGSTATE workingstate;
|
|
|
+
|
|
|
@Override
|
|
|
public String toString() {
|
|
|
StringBuilder b = new StringBuilder();
|
|
|
b.append(String.format(
|
|
|
- "%s:[registerA: 0x%02x, registerB: 0x%02x, registerC: 0x%02x, registerD: 0x%02x, registerE: 0x%02x, registerF: 0x%02x, page: 0x%02x, address: 0x%04x, raddress: 0x%04x ]",
|
|
|
+ "%s:[registerA: 0x%02x, registerB: 0x%02x, registerC: 0x%02x, registerD: 0x%02x, registerE: 0x%02x, registerF: 0x%02x, page: 0x%02x, address: 0x%04x, raddress: 0x%04x, stack: %d ]",
|
|
|
this.getClass().getSimpleName(), registerA, registerB, registerC, registerD, registerE, registerF, page,
|
|
|
- address, raddress));
|
|
|
+ address, raddress, stack.size()));
|
|
|
return b.toString();
|
|
|
}
|
|
|
|
|
@@ -158,4 +169,48 @@ public class WorkingModel {
|
|
|
this.registerF = registerF;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @return the stack
|
|
|
+ */
|
|
|
+ public List<Integer> getStack() {
|
|
|
+ return stack;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param stack
|
|
|
+ * the stack to set
|
|
|
+ */
|
|
|
+ public void setStack(List<Integer> stack) {
|
|
|
+ this.stack = stack;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return the bin2SrcLine
|
|
|
+ */
|
|
|
+ public int[] getBin2SrcLine() {
|
|
|
+ return bin2SrcLine;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param bin2SrcLine
|
|
|
+ * the bin2SrcLine to set
|
|
|
+ */
|
|
|
+ public void setBin2SrcLine(int[] bin2SrcLine) {
|
|
|
+ this.bin2SrcLine = bin2SrcLine;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return the workingstate
|
|
|
+ */
|
|
|
+ public WORKINGSTATE getWorkingstate() {
|
|
|
+ return workingstate;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param workingstate the workingstate to set
|
|
|
+ */
|
|
|
+ public void setWorkingstate(WORKINGSTATE workingstate) {
|
|
|
+ this.workingstate = workingstate;
|
|
|
+ }
|
|
|
+
|
|
|
}
|