Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 164
от 20.06.2005, 00:00

Администратор:Калашников О.А.
В номере:Вопросов: 2, Ответов: 6


Вопрос № 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?

Отвечает: DSota
Здравствуйте, Чупасин Федор Михайлович!

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

Отвечает: Алексей Смуриков
Здравствуйте, Pycckuu MegBegb!
http://www.movsd.com/
http://www.kalashnikoff.ru/
http://www.firststeps.ru/
http://www.wasm.ru/
etc...
Ответ отправил: Алексей Смуриков (статус: Студент)
Отправлен: 14.06.2005, 20:02

Отвечает: Котиев Зураб
Здравствуйте, Pycckuu MegBegb!
есть крутой сайт www.wasm.ru
Ответ отправил: Котиев Зураб (статус: 5-ый класс)
Отправлен: 15.06.2005, 08:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное