public void FillDisAsm() { Random ind = new Random(); List <ReprDisAsm> disasm = new List <ReprDisAsm>(); ReprDisAsm DisProw; int len = FakeAsm.Count, cmdind; Instruction inst; for (int i = (asim.CompCPU.PC > 16 ? asim.CompCPU.PC - 16: asim.CompCPU.PC); i < asim.CompCPU.PC + 240; i += 4) { uint ins = (uint)asim.CompRAM.ReadWord(i); inst = Instruction.CreateInstr(ins, asim.Registers, asim.CompRAM); inst.InstAddr = (uint)i; cmdind = ind.Next(0, len - 1); DisProw = new ReprDisAsm() { Address = i, MachineCode = (int)ins, DecInstrct = ins != 0 ? inst.ToString() : "" }; disasm.Add(DisProw); } lvDisassembly.ItemsSource = disasm; }
void HighLightDisAsm() { for (int i = 0; i < lvDisassembly.Items.Count; ++i) { ReprDisAsm item = (ReprDisAsm)lvDisassembly.Items.GetItemAt(i); if (item.Address == asim.CompCPU.PC) { lvDisassembly.SelectedItem = item; break; } } }