User Tag List

Страница 13 из 31 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 305

Тема: DisAsm-11

  1. #121

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

    По умолчанию

    Попробовал доописать .ENTER... Блин, юные хакеры из DEC. Самомодифицирующийся код - да без проблем Попробую использовать EDIT для экспериментов-отладки

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

    Очередной второй шаг
    Попробовал доописать .ENTER. В целом предсказуемо отработал без проблем, но выявились недочёты в поведении - не фатальные - при необходимости комбинацией команд Сброс - доп команды - Код всё устраняется, но.. хотелось бы меньше нажатий кнопок-щелчков мыши. Так что запущен процесс устранения, а потом буду доописывать следующий макрос. И смотреть на результат

    В позапрошлом сообщении ошибся - это был не очередной первый, а очередной второй шаг
    Первый шаг - чисто кодом
    Второй шаг - data driven
    Третий шаг - описание во внешнем файле

    До третьего надо наиграться с разными вариантами во втором

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

  3. #122

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

    По умолчанию

    Отработку команды Сброс сделал более логичной и поправил визуализацию макровызова, если команда, входящая в его состав как-то меняется. Например, непосредственный аргумент-число меняется на ссылку. Ну и пару косяков-ошибок поправил.

    Можно двигаться дальше с добавлением описаниев макросов.

  4. #123

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

    По умолчанию

    Изначально была заложена идея реагирования парсера макро-вызовов на ключвевые команды. Пока ключевая команда только одна - EMT. Точнее, пока только она и используется в блоке описания, но даже сейчас можно использовать какую угодно команду. Но даже в RT 1.15 есть макровызовы, которые используют одинаковый код в EMT и отличаются аргументами. Парсер на основании описания успешно справляется с такими вариантами

    Пример - .FETCH/.RELEASE

    Будет добавлен функционал, когда макро-вызов использует и блок данных (типа AREA у RT или $ вариант у макросов RSX)

    11 макросов из примервно 34-ух (когда все опишу - будет понятно - сколько их в макро-библиотеке)

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

    Вдогонку. Когда описание будет перенесено во внешний файл, можно будет настраивать парсинг и под кастомный вариант, как скажем, в EDIT - когда у него свои макровызовы

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

    23 макроса описано, 10 осталось - по три варианта .READ и .WRITE и по два .TTYIN и .TTYOUT.
    .READ и .WRITE проще (думаю, сегодня сделаю), .TTYIN и .TTYOUT посложней, - над ними ещё подумать надо

  5. #124

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

    По умолчанию

    29 макровызовов

    Остались четыре .TTYxxx

    Думаю, что начну добавлять макросы из RT 2.x, а в процессе допилю поддержку .TTY, благо они не изменялись.

    Ну и поскольку придумал сценарий, где может понадобиться кнопка MCALL, то добавлю и её.

    Так же можно начинать обдумывать третий шаг - вынос описания макросов во внешний файл
    Последний раз редактировалось Hunta; 13.12.2022 в 10:08.

  6. #125

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

    По умолчанию

    Пока отлаживал генерацию макросов для RT-11 v1.15, смотрел на дизасм PIP и EDIT и по EDIT возникло непонимание. Решил, что битый EDIT.SAV. Но поскольку доскональный дизасм было лениво проводить, решил проверить по быстрому другим путём. Так что встречаем сеанс работы с первой версией RT-11
    Код:
    .BOO/FOR RK0:
    
    @ 000006
    @0G
    RT-11 V01-15
    
    .R EDIT
    *EWTEST.MAC$$
    *I
            .TITLE TEST
            .MCALL .PRINT
            .MCALL .EXIT
    START:
            .PRINT #DEMO
            .EXIT
    DEMO:   .ASCIZ /RT11 V1.15/
            .EVEN
            .END START
    $$
    *EV$$
    V01-24
    *EX$$
    
    .R PIP
    */L
    
    DTMON .SYS   34 25-JUL-73
    MONITR.SYS   34 25-JUL-73
    LP    .SYS    2 26-JUN-73
    RK    .SYS    2 28-JUN-73
    PR    .SYS    2 22-JUL-73
    PP    .SYS    2 26-JUN-73
    DT    .SYS    2 26-JUN-73
    TT    .SYS    2 26-JUN-73
    LP    .132    2 26-JUN-73
    SYSMAC.SML    8 26-JUN-73
    PIP   .SAV    8  9-JUL-73
    EDIT  .SAV   15 22-JUL-73
    MACRO .SAV   29 26-JUN-73
    LINK  .SAV   14  9-JUL-73
    EXPAND.SAV   12  3-JUL-73
    ASEMBL.SAV   21 26-JUN-73
    PATCH .SAV    5 26-JUN-73
    ODT   .OBJ    9 26-JUN-73
    PIPC  .SAV   12 25-JUL-73
    TEST  .MAC    1
    4570 FREE BLOCKS
    *^C
    
    .R MACRO
    *TEST=TEST
    ERRORS DETECTED: 0
    FREE CORE: 19465. WORDS
    
    *^C
    
    .R LINK
    *TEST=TEST
    
    
    *^C
    
    .R PIP
    */D
    */L
    
    DTMON .SYS   34 25-JUL-73
    MONITR.SYS   34 25-JUL-73
    LP    .SYS    2 26-JUN-73
    RK    .SYS    2 28-JUN-73
    PR    .SYS    2 22-JUL-73
    PP    .SYS    2 26-JUN-73
    DT    .SYS    2 26-JUN-73
    TT    .SYS    2 26-JUN-73
    LP    .132    2 26-JUN-73
    SYSMAC.SML    8 26-JUN-73
    PIP   .SAV    8  9-JUL-73
    EDIT  .SAV   15 22-JUL-73
    MACRO .SAV   29 26-JUN-73
    LINK  .SAV   14  9-JUL-73
    EXPAND.SAV   12  3-JUL-73
    ASEMBL.SAV   21 26-JUN-73
    PATCH .SAV    5 26-JUN-73
    ODT   .OBJ    9 26-JUN-73
    PIPC  .SAV   12 25-JUL-73
    TEST  .MAC    1
    TEST  .OBJ    1
    TEST  .SAV    2
    4567 FREE BLOCKS
    *^C
    
    .R TEST
    RT11 V1.15
    
    .
    Из занимательного - при работе на полной скорости под эмулятором Патрона - видимо дурит RK (или драйвер - не разбирался), что сопровождается фейерверком проблем, который начинается с того, что портится системный диск

    С редактором EDIT имел дело только под DOS/Batch-11 в 1984 году, некоторые вещи вспомнились, некоторые - пришлось глянуть в документацию

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

    А, да, ещё - до какого-то момента в PIP был функционал, которые потом разделили на PIP и DUP. То есть, скажем, создание системного диска и перезагрузка системы - это был PIP

  7. #126

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

    По умолчанию

    После долгой борьбы за использование новых возможностей компилятора и .NET и в ImageUtils и DisAsm-11 для .NET 4.x решил всё таки отказаться от поддержки .NET 4.x.

    Так что новые версии пойдут (на текущий момент) только под .NET 6.

    И насколько я понял из написанного у MS, это означает Windows 7 sp1 и Windows 2012 минимум. Позднее проверю, на какие версии Windows может встать .NET 6

  8. #127

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

    По умолчанию

    В общем.. Идея, которая нарисовалась в голове, с ходу (даже в .NET 6) не взлетела. Вернулся к предыдущей точке, в том числе - и к поддержке .NET 4.x. Буду ещё думать.
    И пока переключусь на PDP-2011, там тоже есть задумки, посмотрим, как с ними получится...

  9. #128

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

    По умолчанию

    Наткнулся на статью на хабре - как дизассеблили (из байт кода) одну прогу на питоне. Пара кусков текста оттуда (лично я IDA не использую, так что написанно - чисто на совести авторов):

    "Лично я не догадался, пока не увидел, что функция pyarm, вызываемая между этими двумя действиями, весит целых 50 (!) КБ. Чтобы вы понимали – 1 машинная инструкция на x86-x64 занимает в среднем 4-5 байт, то есть наша функция выполняет более 10 тысяч операций, при этом её декомпилированный код занимает ~146 тысяч строк."
    ...
    Ситуация осложняется размером функций – IDA Pro работает в однопоточном режиме, и если вы попытаетесь переименовать какие-либо переменные в функции pyarm, чтобы обозначить места соответствия с настоящей _PyEval_EvalFrameDefault, то каждый такой небольшой манёвр обойдётся вам в несколько лет (интерфейс IDA Pro зависнет на 3-10 минут при каждом изменении декомпилированного кода)."

    То есть получается, что переименование некоего объекта в IDA - проход по всему дизассеблированному тексту и изменение. Ндя.. У меня в DisAsm сделано по другому - вместо получения дизассемблированного текста и работы с ним - на ячейки (байты и слова) выставляются аттрибуты и при отображении на экран (или вывод в генерируемый исходник) DisAsm анализирует аттрибуты и по ним генерирует исходник. Поэтому при изменение метки (а это изменение аттрибута) выполняется мало действий (и я собираюсь сделать их ещё меньше). А когда будет отображаться или выводиться исходник - идёт просмотр - о, текущая команда ссылается на ячейку - а на той ячейки метка есть? - нет - генерируем метку по умолчанию, да - берём заданную метку и подставляем. Всё. Никаких поисков и изменении (будущего) исходника при смене метки

  10. #129

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

    По умолчанию

    Видимо, устал от PDP-11X, так как совсем не хотелось что-то делать и думать.
    Ну ок, в силу некоторых обстоятельств переключился на XXDP А что бы понять - чего там не работает в программе - подсунул в дизасм. А он того.. лабуду лепить начал и падать Ну понятно, не постоянно и неповсеместно, но.. всё таки
    Так что некоторое время шуршу в его коде. Всё замеченное было вычисленно и поправлено. Пока в дизасме одной утилиты (а может и что-то ещё отдизассемблю) из XXDP

  11. #130

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А как бы заполучить этот ДизАсм11? Товарищ Хунта, поделитесь екзешником. Вещь судя по картинкам нормальная, годная. А где екзешник лежит - неясно.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

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

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

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

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

Похожие темы

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

Ваши права

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