Вопрос № 22147: Я все про DOS4GW.
1) Кто подскажет "хорошие", работающие дебаггеры для DOS4GW,
а то: эмуль VMWare вообще тормозной
а под Connectix Virtual PC - SoftIce 2.52 не грузится(висит),
SD из пакета DOS32a, под эмулем не ловит точку...Вопрос № 22167: я только решил научиться ассемблеру
не подскажите , где можно скачать masm а если можно и учебник к нему...
Вопрос № 22.147
Я все про DOS4GW.
1) Кто подскажет "хорошие", работающие дебаггеры для DOS4GW,
а то: эмуль VMWare вообще тормозной
а под Connectix Virtual PC - SoftIce 2.52 не грузится(висит),
SD из пакета DOS32a, под эмулем не ловит точку входа, а только при выходе из проги (4ch 21h), кроме того он такой куцый.
AXE, DG, Insight и другие для реальных режимов.
Вообщем не могу подобрать нормальный.
2) Вообщем я в защищенном режиме.
сегмент 0 - база 0, лимит - FFFFFFFF, аттрибут DF93.
И прога и стек и данные в этом одном сегменте.
Данные меняю без проблем, а код проги изменить не могу (хочу например int 3 поставить, или комаду mov eax,1 на mov eax,3 поменять) - ни Exceptionа, ни изменений.
К сожалению из-за отсутствия дебаггера не могу разобраться в чем дело... Может есть какие нибудь мысли?
3) Есть у кого нибудь примерчики как быстро переходить в защищенный режим и обратно. GDT и т.д. устанавливать не надо (это сделал DOS4GW, но я то не под ним... :()
Т.е.: зашел в защиту поменял пару байт за пределами мегабайта, и назад, к себе домой в реал.
Наверняка Евгений чем нибудь подобным занимался?
Может можно с кем нибудь в ICQ и т.п. поговорить насчет программирования в Prot32?
Отправлен: 14.06.2005, 01:20
Вопрос задал: Чупасин Федор Михайлович (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Voituk Alexander
Здравствуйте, Чупасин Федор Михайлович!
Я в свое время писал крутую прогу как раз под DOS4GW на С++ и пользовался компилятором Watcom C++ 10.0. Там был хороший отладчик. Я прогу отлаживал без проблем. А то что тебе не удается изменить код, то в защищенном режиме в сегмент кода писать нельзя на аппаратном уровне. Что бы там что-то изменить нужны всякие ухищрения.
Ответ отправил: Voituk Alexander (статус: 8-ой класс)
Отправлен: 14.06.2005, 11:25 Оценка за ответ: 5 Комментарий оценки: Спасибо Watcom C++ 10.0 поищу и попробую. >в защищенном режиме в сегмент кода писать Так вроде один и тот же участок памяти под одним селектором как код, а в другом как данные. Так что через селектор где эта область данные писать нельзя? И где же GPF?
3) Перейти в защищенный режим - поменять 0-й бит в CR0 на единицу:
mov eax,1
mov cr0,eax
Перейти обратно - сбросить бит:
xor eax,eax
mov cr0,eax
>(это сделал DOS4GW, но я то не под ним... :():
Если ты не под DOS4GW - значит GDT никто не устанавливал - а как-же процессор тогда разберется - где у него что в памяти? Поменять байт можно и из реального режима - поменяв теневые регистры (см. ниже).
И применять легко:
call FullMem
mov edi,10000000h
mov gs:[EDI],ax
Приложение:
--------- Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Практикант)
Отправлен: 14.06.2005, 17:23 Оценка за ответ: 5 Комментарий оценки: >Если ты не под DOS4GW - значит GDT никто не устанавливал Я имел в виду, что делать её с нуля не надо, заимствую у DOS4GW. Даже всой дескиптор добавил...
Примерчик обязательно посмотрю, примерю, но пока вроде и так что то вырисовывается. >3) Перейти в защищенный режим - поменять 0-й бит в CR0 на единицу: (мне важна только адресация) И все? Никаких
сбросов процессора?
Вопрос № 22.167
я только решил научиться ассемблеру
не подскажите , где можно скачать masm а если можно и учебник к нему
Отправлен: 14.06.2005, 17:25
Вопрос задал: Pycckuu MegBegb (статус: Посетитель)
Всего ответов отправлено: 4
Отвечает: Евгений Иванов
Здравствуйте, Pycckuu MegBegb!
я могу посоветовать вот этот сайт
http://webster.cs.ucr.edu
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 14.06.2005, 17:31
Отвечает: Калашников О.А.
Здравствуйте, Pycckuu MegBegb!
Попробуйте начать с http://kalashnikoff.ru. Там есть учебник "с нуля" и всё необходимое для работы ПО.
--------- Всё отлично!!!
Ответ отправил: Калашников О.А. (статус: *Админ)
Отправлен: 14.06.2005, 17:34