Closed Volutar closed 1 year ago
То, что пока есть - F4 переходит на адрес, указанный в команде с запоминанием текущего адреса, F5 возвращается на этот адрес, история ведётся. Переход к адресу на стеке применим только для Z80 (ну, может ещё для LR35902), которые на стек ложат только слова/адреса. MOS6502 ложит на стек 1, 2 или 3 байта в зависимости от ситуации. ВМ1 - 1 или 2 слова. Я стараюсь делать общий дебагер для всех CPU. IDA, к слову, строит дерево вызовов процесса, это проще, учитывая тот факт, что секция кода неизменяемая.
MOS6502 ложит на стек 1, 2 или 3 байта в зависимости от ситуации.
У MOS6502 нет и экрана ZX, однако он отображается в дебагере.
То, что пока есть - F4 переходит на адрес, указанный в команде с запоминанием текущего адреса, F5 возвращается на этот адрес, история ведётся.
Спасибо, не знал. А нет клавиш с таким же прыжком но окна DUMP? Вот допустим LD HL, table_1 с F4 весьма бесполезна - дизасм таблицы бессмысленен.
И, может сделать клик по SP аналогом F4, так что F5 вернёт назад?
У MOS6502 нет и экрана ZX, однако он отображается в дебагере.
Уже проупдатено. В nes этой вкладки нет, только у компов, внесённых в группу "спектрумы". Вобщем, будем думать. Дополнить историю переходов по введению адреса вполне можно.
ЗЫ: В дизасме можно сделать не только код. Он вполне отображает байты (db n), слова, адреса (dw nn) и текстовые строки (db "text"). Но это пока до конца не допилено.
Уже проупдатено.
Благодарю. :)
Он вполне отображает байты (db n), слова, адреса (dw nn) и текстовые строки (db "text"). Но это пока до конца не допилено.
Да я заметил но не понял ситуаций когда это может быть как-то использовано. типа memory map из компилера? В IDA они делают recursive code traversing, т.е. пред-исполняют и помечают типы данных. Но для встроенного в эмулятор дебагера это чересчур.
Бывает брекпоинт ставишь в функции которая вызывается из разных мест. Чтобы понять из какой - надо из стека адрес вбивать чтобы узнать. Когда это один раз или два это норм. Но бывает что надо интенсивно выявлять места откуда вызов шёл. Нельзя ли сделать чтобы по двойным щелчкам в адрес стековый, происходил прыжок Окном дебаггера к ней (только не так что адрес сверху, а лучше в центре, чтобы видеть предшествующие операции).
А также при вбивании нового адреса в дебаггере происходит прыжок в это место. А обратно - никак. Только так же вручную. Нельзя ли сделать что-то типа истории (как в ida, как в браузерах), чтобы можно было возвращаться к предыдущим точкам, и снова вперёд. Логика фиксирования таких позиций:
Прыгая по истории "назад" история "вперёд" должна оставаться живой, пока не будет необходимость фиксировать новую позицию.