Важная информация

User Tag List

Страница 19 из 31 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя
Показано с 181 по 190 из 304

Тема: DisAsm-11

  1. #181

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Woxem Посмотреть сообщение
    Здравствуйте вы закончили disasm можно его попросить на пробу?
    Лучше, конечно, писать в правильной теме
    Теперь по вопросам.

    Все мои программы разрабатываются, в первую очередь, под мои хотелки. А поскольку хотелки часто обширны - реализовать их с подходом - сели и написали - крайне тяжело. Часто нужно долго курить документацию (и не только на PDP-11), отлаживать ошибки и подход в целом, а так же - хотелки со временем и опытом (могут и) меняются. Поэтому ответ на вопрос "вы закончили?" в отношении любой моей поделки с вероятностью под 100 процентов - нет, в процессе

    Что касается DisAsm. Была начата доработка для работы с одним из вариантов программ с оверлеями DOS-11, но попутно были изменения во внутренностях пользовательского интерфейса и на текущий момент он несколько СЛОМАН - не работают клавиши-команды типа C, D, Z, а так же ввод символов таких клавиш в комментариях.

    Плюс - DisAsm и ImageUtils используют приличное количество общего кода, а в процессе добавления функционала в DisAsm мне понадобилась возможность переносить файлы с PC в DOS-11, поэтому на определённом этапе доработок DisAsm я переключился на ImageUtils (где пока и нахожусь). Так что, возможно, что в DisAsm не работает что-то ещё.

    Когда вернусь к DisAsm для доработок и фиксов - НЕ ПРЕДСКАЗУЕМО - так как свободного времени на хобби очень мало.

    Так что

    - если требуется функционал дизасма образов памяти (ака ПЗУ) или SAV файлов - ничего нового нет, можно использовать старую версию. Могу выложить последний вариант (до переделок) с рабочего компа, но это вариант, который использует .NET 7, то есть нужна Windows, которая его поддерживает и нужно устнановить на неё поддержку .NET 7

    - если по любой причине хочется новую версию - выложить могу - но без каких-либо гарантий - проверять и фиксить ошибки сейчас времени нет.
    Последний раз редактировалось Hunta; 19.03.2024 в 12:07.

  2. #181
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #182

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Руки наконец дошли до DisAsm, а точнее - до сломанных клавиш-команд. После гугления и экспериментов стала более-менее понятно, что сломалось (ответ - что-то недоделанное (возможно) в .NET) и даже сумел прилепить костыль, что бы заработало. Из оставшегося неработающего - enter и esc в полях ввода комменатриев, но скорее всего - причина понятна. Пока тестирую остальные команды, как доберусь до enter/esc - посмотрю, прав ли.

    - - - Добавлено - - -

    Ну, вроде привязку шот-катов пофиксил. Опять возвращаюсь к DOS-11

  4. #183

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как ни странно, но в процессе перерыва занимался не программированием в другом виде (ака FPGA), а некоторым наведением порядка на компе. Ну и последние где-то четыре дня в процессе засыпания в голове крутилась одна мысль. Которую я рассматривал с разных сторон, пока, наконец, мысль не созрела

    Это предыстория Дальше история

    В какой-то момент в DisAsm были добавлены служебные ячейки, которые позволили описывать разное - не только команды и метки (которые генерятся из дизассемблируемого файла), а всякие .TITLE, .IDENT. Ну и блочные комменты - они из той же серии. Это позволило приблизить генерируемый файл в нормальному исходнику, но создало некоторые проблемы - когда нужно было, скажем - из команды, сослаться на другую ячейку - с командой или данными. Для чего её сначала нужно было найти. Раньше было просто - все ячейки с данными из файла - простой массив, который содержал только их - и по адресу, связанному с ячейкой, можно было просто вычислить её индекс в массиве и выйти на неё. Быстро.

    Но теперь среди ячеек мало того, что встречаются служебные (без адреса и/или данных) - так ещё и они добавляются-удаляются на ходу (чего не происходит с ячейками из файла). Соотвественно - найти уже так просто не получается.

    Технически - это не мешало процессу дизасма, а только замедляло поиск нужной ячейки и на какое-то (долгое) время я на это забил.

    Но это не значит, что мне это нравилось

    Вот собственно - на эту тему мысли в голове и крутились И с четверга на пятницу (возможное) решение - как ускорить поиск - вызрело. До состояния, в котором я уже не видел с ходу проблем с его реализацией и использование.

    В общем, в пятницу вечером набросал и слегка проверил, а сегодня допроверял и дофиксил. Не скажу, что все ошибки нашёл и пофиксил, но, по крайне мере, при запуске некоторого количества автоматических тестов DisAsm бодро отрабатывает, не валится, и результаты вроде ок

    Ессссвенно, было интересно - ускорилось и если на да - насколько. Поэтому один из автоматических тестов (дизасм EDT.TSK) был переделан под оценку времени.

    Результаты

    Старый вариант - 21 секунда
    Новый варант (debug) - 24 секунд
    Новый варант (release) - 14 секунд

    ОЧЕНЬ прилично получилось

    Ну и видно - насколько медленней вариант debug по сравнению с release

    Ну а суть алгоритма ускорения - некий вариант кэширования То есть - памяти тратится побольше (но "кэш-память" - это простой массив, так что - не сильно много), а работаем побыстрее

    Тестирование, фиксы ошибк (если найдутся) и доработка продолжается
    Пока опять не устану от программирования - ибо на работе его никто не отменял
    Последний раз редактировалось Hunta; 21.09.2024 в 14:57.

  5. #184

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давнишний недоделанный остаток переноса всего зависимого от чего-то кода в спец модули - в генераторе исходника был код под .SAV файлы. Выпилил и перенёс. Теперь вроде такого кода не осталось. Теоретически - можно добавлять другие процессора Но пока не до этого

    - - - Добавлено - - -

    И заголовок .SAV пока парсится руками, а не по описанию классом. Вариант, который сейчас обрабатывает DisAsm - простейший (даже оверлеи пока не парсятся), так что пока не стал заморачиваться на создание описания классом. Как-нибудь, скорее всего, когда начну добавлять работу с оверлеями
    Последний раз редактировалось Hunta; 22.09.2024 в 00:36.

  6. #185

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В процессе тестирования поправил две ошибки.

    Одна была известна - если в DisAsm-е открыть файл, а потом, не выходя из него, открыть другой файл - он показывал странное. Оказалось - думал на не то место возникновения. Поправил

    Вторая - новая. Оказалось, в процесс доработок сломал сохранение сеанс. Пришлось попотеть над одним моментом, но - тоже поправил.

  7. #186

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока причёсываю код.
    Из мысле, которые в голову - добавить дизасм .OBJ файлов. Но перед этим надо продумать некоторое количество доработок

    - - - Добавлено - - -

    Ещё из мысле. MS слегка выпилила поддержку КОИ-8 из стандартной поставки для .NET 5.x-.., что привело к тому, что DisAsm11X таскает за собой .dll на 700+ кб. Что мне несколько не нравится. Поэтому обдумываю вариант - впилить поддержку КОИ-8 непосредственно в DisAsm.

    Ну а в КОИ-8 генерируются всякие текстовые .ASCII

  8. #187

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поставил давно хотимый эксперимент.

    Вводная часть.

    Сейчас для программ с тем или иным вариантом оверлеев DisAsm создает по три визуализирующих объекта (основное окна дизасма и два окна операндов) на каждый оверлей (или его аналог). Цена - загружается дольше. Ну и, скажем - изменение размеров окна самого DisAsm-а - тоже не быстрая операция. Если, конечно, оверлеев МНОГО Плюсы - окна между оверлеями переключаются очень быстро.

    Эксперимент.

    Ставился на MONLIB.CIL (файл библиотеки операционки DOS-11) - там 117 модулей - ядро и модули-оверлеи.

    Сделал вариант, когда визуализирующих объектов всего три - и к ним динамически цепляются массивы ячеек - при переключении между оверлеями или когда аргумент(ы) команды - в других модулях

    Итак. Первым указывается время работы первого ("многооконного") варианта DisAsm, а вторым - тестируемый "трёх-оконный" вариант

    Время загрузки - 74 секунды против 3 секунд
    Размер программы после загрузки - 2.1 Гб против 195 мб
    Генерация исходников - 98 секунд против 4 секунд
    Размер программы после генерации исходников - 2.9 Гб против 195 мб
    Переключение между модулям - практически моментально против около секунды

    Комментарий по поводу времени генрации исходников - когда писал код, у меня возникла мысль, что перед генерацией надо вырубить визуализацию, а после - включить - в силу происходящих в процессе генерации вещей показалось, что так будет быстрее. Но, похоже - оказалось показалось. Поэтому был поставлен ещё один эксперимент - не вырубать визуализацию. Время генерации стало 4 секунды

    В общем, похоже оставлю новый вариант

  9. #188

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Война с процессом восстановления текущего оверлея и текущих ячеек в нём при открытии файла сохранённой сессии.

    Точнее говоря - с действиями, что бы в приложении после восстановления сохранённой сессии вернуть их, в силу некоторых особенностей WPF и .NET.

    Но вроде бы победил. В целом.

  10. #189

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В процессе доработки ImageUtils периодически отвлекаюсь на разное, в частности, на дизасм. И вот, возясь с очередным, понял, что не хватает мне НЕКОЕГО функционала Итак

    Запускаем DisAsm11, открываем файл

    Нажимаем Ctrl/C (видимого результата нет)

    Переходим на другую ячейку

    Нажимаем F7, а затем Ctrl/C

    А затем - искать далее и - вуаля!

    Пока ограничился таким - как обычно - надо поиграться и понять - что не так сделал и чего не хватает

    - - - Добавлено - - -

    А, да, вдогонку. Работают также Shift/F7 (продолжить поиск вперёд) и Alt/F7 (продолжить поиск назад). Ctrl/F7 (поиск с заменой) не используется.

  11. #190

    Регистрация
    29.07.2021
    Адрес
    г. Жигулёвск
    Сообщений
    112
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно ссылку и на disasm?

Страница 19 из 31 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Disasm with Sts 7.5...
    от Stl75 в разделе Софт
    Ответов: 3
    Последнее: 25.06.2018, 11:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •