void setDirectly(Register r, String val_1_bit);
+ void setDirectly(CompleteStatus r, String z_c_n_ovr);
+
String getC0();
String getCT();
String getDirectly(Register r);
+ String getDirectly(CompleteStatus r);
+
enum Am2904_ShiftDir
{
RIGHT, LEFT;
{
µZ, µC, µN, µOVR, MZ, MC, MN, MOVR;
}
+
+ enum CompleteStatus
+ {
+ micro, MAKRO;
+ }
+
}
am2904.setHighLevelState(regToStateID(r), bv);
}
+ @Override
+ public void setDirectly(CompleteStatus r, String z_c_n_ovr)
+ {
+ am2904.setHighLevelState(regToStateID(r), BitVector.parse(z_c_n_ovr));
+ }
+
@Override
public String getC0()
{
return bv.getMSBit(r.ordinal() % 4).getSymbol();
}
+ @Override
+ public String getDirectly(CompleteStatus r)
+ {
+ var bv = (BitVector) am2904.getHighLevelState(regToStateID(r));
+ return bv.toString();
+ }
+
private static String regToStateID(Register r)
{
- if (r.ordinal() > 3)
- return "msr.q";
- return "musr.q";
+ if (r.ordinal() < 4)
+ return "musr.q";
+ return "msr.q";
+ }
+
+ private static String regToStateID(CompleteStatus r)
+ {
+ if (r == CompleteStatus.micro)
+ return "musr.q";
+ return "msr.q";
}
@Override