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

User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 32

Тема: Сюрприз в заводском загрузчике

  1. #11
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Для КР580ВМ80А, родимого... Запускается на ПК, но оболочки к нему нет -- всё в командной строке. Нужен такой?
    Нужен. Описание опций есть?

    Я вот собирался прогу сварганить которая бы отображала файл в том виде, как он отображается, если его в экранную область Вектора залить. Для того, что-бы было видно где и какие картинки расположены.
    Последний раз редактировалось KTSerg; 12.03.2018 в 15:38.

  2. #12
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Нужен. Описание опций есть?
    Вот он: dasm580.rar
    Описание есть, приложено в архиве...
    Делал его, кстати, я в пару к ассемблеру KRASS (не мой), так, чтобы любую программу для Вектора можно было дизассемблировать, а потом этим KRASS-ом скомпилить со 100% бинарным совпадением, но вот только этот ассемблер я что-то найти не смог.

  3. #13
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Вот он: dasm580.rar
    Описание есть, приложено в архиве...
    ...
    Спасибо, очень не плохой результат.
    Особенно интересна битовая структура данных.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если это ВВ55, подключаемая к ВУ, то возможно в процедуре детекта внешнего ПЗУ есть что-то вроде
    Код:
    MVI A,82h
    OUT 04
    OUT 0F0h
    Посмотрел внимательно, так и есть:
    MVI A,9Bh
    OUT 04
    MVI A,82h
    OUT 0F0h
    Причем в самом начале программы.
    Так что стало понятно, что влипили дополнительную ВВ55.

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

    Цитата Сообщение от Improver Посмотреть сообщение
    Вот он: dasm580.rar
    Описание есть, приложено в архиве...
    ...
    Дело привычки, но мне кажется, что легче воспринимать код, когда команды и параметры в разных столбцах вертикально выровнены.
    Вот в таком представлении первый параметр теряется:
    LXI H, L_07EC
    MVI A, 08Ah
    CALL L_06B1
    LXI H, L_024A
    SHLD 0DCF2h

    И было-бы удобно наличие разделения кода на куски, например после строк с RET или JMP, вставлять строку с комментарием ";" (пустую строку).

    А так, ещё раз спасибо.

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

    Ну, стало понятно, почему на моём Векторе считывание байта из ПЗУ происходит с задержкой в 21мкс после выставления адреса, а в других загрузчиках через 9 мкс.
    Разница в коде налицо.
    В моём:
    OUT 007h
    OUT 0F3h
    MOV A, H
    OUT 005h
    OUT 0F1h
    MOV A, E
    ORA A
    IN 006h

    В загрузчиках BOOTS и kish2:
    OUT 007H
    MOV A,H
    OUT 005H
    IN 006H

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

    Жаль, что не устранили "ляп" с проверкой наличия ЛВС и переходом к загрузке с магнитофона при наличии ЛВС.
    Но это проявляется только при перезагрузке с нажатой F2.
    Если КвазиДиска нет, то следующим за ним проверяется наличие ЛВС и это работает корректно.
    При наличии КвазиДиска удержание F1 и F2, так-же позволяет не проверяя наличие КвазиДиска перейти к загрузке с ЛВС.
    Последний раз редактировалось KTSerg; 12.03.2018 в 18:56.

  4. #14
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Дело привычки, но мне кажется, что легче воспринимать код, когда команды и параметры в разных столбцах вертикально выровнены.
    Вот в таком представлении первый параметр теряется:
    LXI H, L_07EC
    MVI A, 08Ah
    CALL L_06B1
    LXI H, L_024A
    SHLD 0DCF2h
    Не, там всё выровнено, просто надо смотреть с моноширинным шрифтом:
    Код:
            ORG    00000h
    L_0000: MVI A, 09Bh
    L_0002: OUT    004h
            MVI A, 088h
            OUT    000h
            MVI A, 0A8h
            LXI B, L_0040
    L_000D: OUT    008h
            SUB C
    L_0010: JNC    L_000D
            IN     001h
            ANA C
            MOV C, B
            MOV A, B
            OUT    010h
            JZ     L_0029
    И было-бы удобно наличие разделения кода на куски, например после строк с RET или JMP, вставлять строку с комментарием ";" (пустую строку).
    Это можно сделать. Я вчера тоже попробовал дизассемблировать всякие загрузчики, нашёл ещё пару моментов, поправлю сразу всё...

  5. #15
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дизассемблер поправил, не откладывая надолго: DASM580_105.7z
    Пользуйтесь... :-)

  6. #16
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не, там всё выровнено, просто надо смотреть с моноширинным шрифтом:
    Я такие вещи смотрю и редактирую редактором из FAR-а, попробую ещё раз...

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

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

    Если кому будет интересно, считанный загрузчик прикрепил к первому письму этой темы.
    И исправленный вариант (при перезагрузке с нажатой F2), прицепом.
    Последний раз редактировалось KTSerg; 13.03.2018 в 12:47.

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

  8. #17
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не, там всё выровнено, просто надо смотреть с моноширинным шрифтом:
    Понял в чем фокус. Я привёл пример где в соседних строках есть команды с мнемоникой из 3-ёх и 4-ёх символов, а в Вашем, есть только из 3-ёх символов, и они выглядят ровно.
    Нужно к мнемонике команд состоящих из 2-ух и 3-ёх символов добавить один пробел, что-бы все команды были длиной 4 символа, а далее пробелы разделители и параметры, и тогда будет выглядеть ровно.

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

  9. #18
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Понял в чем фокус. Я привёл пример где в соседних строках есть команды с мнемоникой из 3-ёх и 4-ёх символов, а в Вашем, есть только из 3-ёх символов, и они выглядят ровно.
    Нужно к мнемонике команд состоящих из 2-ух и 3-ёх символов добавить один пробел, что-бы все команды были длиной 4 символа, а далее пробелы разделители и параметры, и тогда будет выглядеть ровно.
    Немного не понял... Вот тот же участок кода, как есть сейчас:
    Код:
    L_0173: LXI H, 007ECh
            MVI A, 08Ah
            CALL   L_06B1
            LXI H, 0024Ah
            SHLD   0DCF2h
    Вроде, всё красиво... Надо выровнять по первому аргументу в командах типа так?
    Код:
    L_0173: LXI  H, 007ECh
            MVI  A, 08Ah
            CALL L_06B1
            LXI  H, 0024Ah
            SHLD 0DCF2h
    Или так?
    Код:
    L_0173: LXI  H, 007ECh
            MVI  A, 08Ah
            CALL    L_06B1
            LXI  H, 0024Ah
            SHLD    0DCF2h
    В новой версии дизассемблера пропали метки в участках данных. В предыдущей было видно где начинается каждая картинка (это я про код загрузчика), теперь в данных вообще не понятно, есть ли на них ссылки из программы...
    Упс... Поправим. :-)

  10. #19
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    KTSerg, спасибо за загрузчик!
    По F5 всегда грузит 32 Кб, без детекта размера, в отличие от F2.
    Последний раз редактировалось ivagor; 13.03.2018 в 19:37.

  11. #20
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    ...
    Или так?
    Код:
    L_0173: LXI   H, 007ECh
            MVI   A, 08Ah
            CALL     L_06B1
            LXI   H, 0024Ah
            SHLD     0DCF2h
    Такой вариант вроде интереснее выглядит. Только нужно, предусмотреть, что параметр бывает например "SP" или "PSW", и это не должно пересекаться с соседней колонкой. Т.е. расстояние между колонками команд и параметров сделать с не большим запасом.


    ivagor, вроде по F5 грузит исключительно из дополнительной ВВ55 (адреса F0-F3), из обычного ПЗУ (на ПУ) в этом случае грузиться не должно...

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Ваши права

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