Пример #1
0
		public string Disassemble(MemoryDomain m, uint addr, out int length)
		{
			_disassemblerInstance.ReadWord = (a) => (short)m.PeekWord(a, m.EndianType == MemoryDomain.Endian.Big);
			_disassemblerInstance.ReadByte = (a) => (sbyte)m.PeekByte(a);
			_disassemblerInstance.ReadLong = (a) => (int)m.PeekDWord(a, m.EndianType == MemoryDomain.Endian.Big);
			var info = _disassemblerInstance.Disassemble((int)addr);

			length = info.Length;

			return string.Format("{0:X4}  {1,-7} {2}", info.RawBytes.Substring(0, 4), info.Mnemonic, info.Args);
		}
Пример #2
0
			public void SetPreviousToCurrent(MemoryDomain domain, bool bigendian)
			{
				_previous = domain.PeekWord(Address, bigendian);
			}
Пример #3
0
			public MiniWordWatch(MemoryDomain domain, int addr, bool bigEndian)
			{
				Address = addr;
				_previous = domain.PeekWord(Address % domain.Size, bigEndian);
			}
Пример #4
0
			public void Update(Watch.PreviousType type, MemoryDomain domain, bool bigendian)
			{
				var value = domain.PeekWord(Address % domain.Size, bigendian);
				if (value != Previous)
				{
					_changecount++;
				}

				switch (type)
				{
					case Watch.PreviousType.Original:
					case Watch.PreviousType.LastSearch:
						break;
					case Watch.PreviousType.LastFrame:
						_previous = _prevFrame;
						break;
				}

				_prevFrame = value;
			}