string ReadString(int pi, CInterpreter state) { var b = (byte)state.ReadMemory(pi); var bytes = new List <byte> (); while (b != 0) { bytes.Add(b); pi++; b = (byte)state.ReadMemory(pi); } return(Encoding.UTF8.GetString(bytes.ToArray())); }