User Tag List

Показано с 1 по 10 из 494

Тема: Вектор-06Ц: Операционные системы

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat Посмотреть сообщение
    И кстати, еще вопрос, посоветуйте какой нибудь хороший дизассемблер. Я пользуюсь DASMX130, уверен, есть что то более совершенное, посоветуйте пожалуйста что нибудь ?!?
    Я мельком посмотрел Ваши исходники, в принципе DASMX даёт неплохой результат, можно пользоваться. Просто в качестве альтернативы могу поделиться тем, чем пользуюсь сам -- DASM580 (DASM580_106.7z), который я написал когда-то давно-давно...

    И по поводу патча МДОС, вопрос: если взять полученные Вами исходники без патча (orgD800H_3400H-468EH_BDOS_original.asm), то откомпилированный с них бинарник полностью совпадает с бинарником из MДОС (orgD800H_3400H-468E‬H_BDOS.rom)? Я бы начал копать отсюда...

    Второе, что следует сделать, это разобраться с командами PCHL (их там 5 штук), и дизассемблиролвать подпрограммы, на которые они ссылаются. Вполне возможно, что Ваш патч затрагивает их работу, но из-за того, что в исходнике они показаны, как наборы данных, в них ссылки не исправляются при перекомпиляции и вылезает ошибка.
    Последний раз редактировалось Improver; 14.04.2020 в 08:42.

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    electroscat(14.04.2020)

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

  3. #2

    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    1,034
    Спасибо Благодарностей отдано 
    467
    Спасибо Благодарностей получено 
    194
    Поблагодарили
    125 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Я мельком посмотрел Ваши исходники, в принципе DASMX даёт неплохой результат, можно пользоваться. Просто в качестве альтернативы могу поделиться тем, чем пользуюсь сам -- DASM580 (DASM580_106.7z), который я написал когда-то давно-давно...
    Спасибо за ссылочку, посмотрю обязательно !

    Цитата Сообщение от Improver Посмотреть сообщение
    И по поводу патча МДОС, вопрос: если взять полученные Вами исходники без патча (orgD800H_3400H-468EH_BDOS_original.asm), то откомпилированный с них бинарник полностью совпадает с бинарником из MДОС (orgD800H_3400H-468E‬H_BDOS.rom)? Я бы начал копать отсюда...
    Да, я добился идентичности, оригинальный текст компилится, я сравниваю его с вырезанным куском, HEX редактор заявляет об идентичности файлов.


    Цитата Сообщение от Improver Посмотреть сообщение
    Второе, что следует сделать, это разобраться с командами PCHL (их там 5 штук), и дизассемблиролвать подпрограммы, на которые они ссылаются. Вполне возможно, что Ваш патч затрагивает их работу, но из-за того, что в исходнике они показаны, как наборы данных, в них ссылки не исправляются при перекомпиляции и вылезает ошибка.
    На счет этого я не подумал, поищу, спасибо за направление!

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

    Цитата Сообщение от b2m Посмотреть сообщение
    А количество секторов и головок по адресам sectors+1 и heads+1 в коде инициализации устанавливаются?
    Вот наверное я на это вчера и наткнулся, это похоже оно и есть, нашел участок кода, как раз там, где были адреса "LXI B, XXX" в LD8F3. там у меня оказался кусок кода, и он постоянно "портился" при анализе в дебагере, ... в итоге, я понял, что по этим адресам что то пишется. Похоже это и есть адреса, осталось только найти от куда они пишутся, или по крайней мере, засунуть в эти места переменные, из которых потом брать эти значения. Сейчас я там просто массив нулей расположил, и обозначил две переменных в этом массиве, код расположил так, чтобы его по этим адресам не было, ну и как раз нулей там столько, чтобы восстановить оригинальные адреса всего оставшегося кода.

    Подскажите пожалуйста, sectors+1 и heads+1 - это:

    Код:
    sectors:
    	mvi b, 16              
    	mov a,e                
    	call LD879              
    	inr a                 
    	out 53h		       
    	xra a                 
    heads:
    	mvi b,4               
    	call LD879             
    	out 56h		       
    	mov a,h
    	out 055h	        
    	mov a,l
    	out 054h
    в этом коде... Наверняка я что то не так понимаю... в этом коде вроде не куда патчить адреса... пока не понятно, можете чуть пояснить? И "в коде инициализации" это за пределами BDOS? это тот код, который распределяет по памяти куски системы после загрузки бинарника, он патчит код на предмет адресов ?
    Последний раз редактировалось electroscat; 14.04.2020 в 12:14.

  4. #3

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от electroscat Посмотреть сообщение
    код, который распределяет по памяти куски системы после загрузки бинарника, он патчит код на предмет адресов ?
    Нет, по-моему это чуть позже. После пересылки запускается инициализация, это в самом начале BDOS. Поищи в коде Improvera, где он пишет в sectors+1 и heads+1.

    Этот пользователь поблагодарил b2m за это полезное сообщение:

    electroscat(14.04.2020)

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

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

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

Похожие темы

  1. Ответов: 213
    Последнее: 13.06.2022, 14:02
  2. Ответов: 4
    Последнее: 20.08.2007, 16:14
  3. Организация plug-in'нной системы
    от CityAceE в разделе Программирование
    Ответов: 9
    Последнее: 20.09.2005, 12:45
  4. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  5. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

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