private void timer1_Tick(object sender, EventArgs e) { string str; int nn; Int128 ad = new Int128(textBox1.Text); Int128 dat; trackIP = checkBox1.Checked; if (trackIP) { ad = Int128.Sub(soc.cpu.ip, Int128.Convert(0x20)); } //dumpBox.Clear(); str = ""; nn = 0; for (nn = 0; nn < 50; nn++) { dat = soc.Read(ad); switch (dumpType) { case 0: switch (dumpStride) { case 1: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80().Substring(18, 2) + "\r\n"; break; case 2: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80().Substring(16, 4) + "\r\n"; break; case 4: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80().Substring(12, 8) + "\r\n"; break; case 5: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80().Substring(10, 10) + "\r\n"; break; case 8: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80().Substring(4, 16) + "\r\n"; break; case 10: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80() + "\r\n"; break; case 16: str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString128() + "\r\n"; break; } break; case 1: if (Int128.EQ(ad, soc.cpu.ip)) { str = str + "h"; } else { str = str + " "; } str = str + nvioCpu.Disassemble(soc.cpu.ibundle, GetUnit(ad), (Int64)GetInstr(ad), ad) + "\n"; break; } if (trackIP) { ad = nvioCpu.IncAd(ad, 5); } else { ad = Int128.Add(ad, Int128.Convert(dumpStride)); } } dmp.SetText(str); dmp.Invalidate(); ad = Int128.Sub(soc.cpu.regfile[(soc.cpu.regset << 6) | 63], Int128.Convert(40)); str = ""; for (nn = 0; nn < 25; nn++) { dat = soc.Read(ad); if (Int128.EQ(ad, soc.cpu.regfile[(soc.cpu.regset << 6) | 63])) { str = str + "h"; } else { str = str + " "; } str = str + Convert.ToString((long)ad.digits[0], 16).PadLeft(6, '0') + ": " + dat.ToString80() + "\r\n"; ad = Int128.Add(ad, Int128.Convert(10)); } stk.SetText(str); stk.Invalidate(); if (trackIP) { timer1.Interval = 10; } else { timer1.Interval = 100; } timer1.Enabled = trackIP; }