public int ReadWord(WordAddress address) { var high = ReadByte(address.AddressOfHighByte()); var low = ReadByte(address.AddressOfLowByte()); return(256 * high + low); }
public static string DisplayBytes(Story story, ZStringAddress address) { var decoded = new StringBuilder(); int isEnd; var currentAddress = new WordAddress(address.Value); do { var word = story.ReadWord(currentAddress); isEnd = word.FetchBits(BitNumber.Fifteen, BitSize.One); var zChar1 = word.FetchBits(BitNumber.Fourteen, BitSize.Five); var zChar2 = word.FetchBits(BitNumber.Nine, BitSize.Five); var zChar3 = word.FetchBits(BitNumber.Four, BitSize.Five); decoded.AppendFormat( "{0:x2} {1} {2:x2} {3} {4:x2} {5} ", zChar1, _alphabetTable[zChar1], zChar2, _alphabetTable[zChar2], zChar3, _alphabetTable[zChar3]); currentAddress = currentAddress.Increment(); } while (isEnd != 1); return(decoded.ToString()); }
public void SetWordAddress(int wordAddress) { if (wordAddress > -1) { WordAddress = wordAddress; } WordAddressStr = WordAddress.ToString().PadLeft(4, '0'); }
public Story WriteWord(WordAddress address, int value) { var high = (value << 8) & 0xFF; var low = value & 0xFF; return(WriteByte(address.AddressOfHighByte(), (byte)high) .WriteByte(address.AddressOfLowByte(), (byte)low)); }
public ZStringAddress GetAbbreviationZStringAddress(Abbreviation a) { var baseAddress = WordAddress.FromAbbreviationTableBase(GetAbbreviationsTableBase()); var abbreviationAddress = baseAddress.IncrementBy(a.Value); var wordAddress = new WordZStringAddress(ReadWord(abbreviationAddress)); return(wordAddress.DecodeWordAddress()); }
public void SetAddressStr() { WordAddressStr = WordAddress.ToString().PadLeft(4, '0'); BitAddressStr = BitAddress.ToString().PadLeft(2, '0'); }
public AbbreviationTableBase GetAbbreviationsTableBase() { var offset = new WordAddress(24); return(new AbbreviationTableBase(ReadWord(offset))); }