}
+ private static String reverse(String s) {
+ StringBuffer ret = new StringBuffer();
+ for(int i=s.length()-1; i>=0; i--)
+ ret.append(s.charAt(i));
+ return ret.toString();
+ }
+
public static String formatDataTokAddr(BitVector dta) {
if (dta.getNumBits()!=(37+1+14)) {
Infrastructure.fatal("wrong number of bits");
}
return
- dta.get(0,1).getState() + " " +
- dta.get(1,14).getState() + " " +
- dta.get(15,37).getState();
+ "tokenhood[1]="+dta.get(0,1).getState()
+ + ", addr[14:1]=" + reverse(dta.get(1,14).getState())
+ + ", data[37:1]=" + reverse(dta.get(15,37).getState());
}
public static BitVector extractAddr(BitVector dataTokAddr) {
fatal(dataTokAddr.getNumBits()!=37+1+14, "wrong length for data token addr");