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

Ассемблер? Это просто! Учимся программировать


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 812
от 27.07.2007, 01:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 390, Экспертов: 30
В номере:Вопросов: 3, Ответов: 4


Вопрос № 95870: Здравствуйте уважаемые эксперты! В пакете программ MASM6.11 который я скачал с сайта для изучения Ассемблера есть отладчик CodeView. Возникли затруднения с его запуском. При вызове отладчика появляется окно и внизу строки: CV1053 Warning: TOOLS.I...
Вопрос № 95881: Списал с книги "Ассемблер под Windows" код который создает простейшее окно, С помощью MASM пытался создать exe файл, в результате он создается но не запускается. Он даже не отображается в списке запущенных процессов. У меня комп. Pentium IV...
Вопрос № 95893: Предисловие :) Прочел на башорге: как бы было здорово поменять местами буквы ц и я, тогда удобно было бы писать некуя.. вобщем прочел и решил поменять ) Но ассемблер незнаю, тока поверхностно и то под DOS. Ну вобщем решил написать просто обработч...

Вопрос № 95.870
Здравствуйте уважаемые эксперты! В пакете программ MASM6.11 который я скачал с сайта для изучения Ассемблера есть отладчик CodeView. Возникли затруднения с его запуском. При вызове отладчика появляется окно и внизу строки:
CV1053 Warning: TOOLS.INI not found
CV0101 Warning: no CdeVeiw infomation for 'C:MASM611BINR
Отправлен: 21.07.2007, 13:07
Вопрос задал: Tiratron (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss
Здравствуйте, Tiratron!

По первому предупреждению (warning) нашел следующую информацию на сайте Microsoft (ссылка на англ.).
Если коротко, то там сказано так:
"Т.к. CodeView не всегда требует наличия файла TOOLS.INI, Вы можете просто игнорировать данное предупреждение. Если у Вас есть файл TOOLS.INI, измените переменную среды INIT MS-DOS, чтобы указать путь к папке, в которой находится файл."

Из справочника по ошибкам CodeView:

CV1053 TOOLS.INI not found
Директория, указанная в переменной среды INIT, не содержит файла TOOLS.INI.
Проверьте переменную INIT и убедитесь, что она указывает на правильную директорию.

CV0101 no CodeView information for filename:
Приложение или динамическая библиотека (DLL) не содержит символов, требуемых для CodeView.
Откомпилируйте программу или DLL, используя параметр /Zi. Если производите "линковку" отдельными шагами, используйте параметр /CO. Используйте "линковщик" LINK самой последней версии.

Удачи!
Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 22.07.2007, 11:46


Вопрос № 95.881
Списал с книги "Ассемблер под Windows" код который создает простейшее окно, С помощью MASM пытался создать exe файл, в результате он создается но не запускается. Он даже не отображается в списке запущенных процессов. У меня комп. Pentium IV Celeron CPU 1,70GHz 512Мб оперативки. Для компиляции использую команды
ML /coff /c 333.asm
link /subsystem:windows 333.obj
Пожалуйста помогите, буду премного благодарен.

Приложение:

Отправлен: 21.07.2007, 16:07
Вопрос задал: Каликов Сергей Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Каликов Сергей Александрович!

Добавте в команду ML ключ Ср-сохранение регистров пользвательских идентификаторов т.к. имена функций из библиотек чувствительны к регистру.
и _ERR приведите к одному регистру.
Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 21.07.2007, 16:46

Отвечает: Олег Владимирович
Здравствуйте, Сергей Александрович!

Вы пропустили параметр CreateWindowExA - либо hWndParent, либо hMenu. В результате все следующие параметры сместились, и хэндл приложения попал на место хэндла меню, что вызвaло ошибку. Правильный участок кода в приложении.

На будущее. В Windows-программах принято включать чувствительность к регистру либо строкой option casemap: none, либо опцией ml /Cp. Поэтому использование метки _err не предполагает обращения к ней JMP _ERR. (CapsLock? :))

Good luck!

Приложение:

---------
Факультет ПМ-ПУ - лучший в СПбГУ!

Ответ отправил: Олег Владимирович (статус: Студент)
Ответ отправлен: 21.07.2007, 16:48


Вопрос № 95.893
Предисловие :)
Прочел на башорге: как бы было здорово поменять местами буквы ц и я, тогда удобно было бы писать некуя.. вобщем прочел и решил поменять ) Но ассемблер незнаю, тока поверхностно и то под DOS. Ну вобщем решил написать просто обработчик прерывания 10h. Сейчас уже понимаю, что не того прерывания написал обработчик ) Для теста меняю местами там буквы e и r. Короче, после запуска программы, когда я пишу букву e выводится на экран в строке ввода буква r, и наоборот. Но вводятся всеравно те, на которые нажал.
Вопрос следующий: чтой делает мой обработчик прерывания, вернее что это за прерывание такое и какое прерывание отвечает за вводимый симвоЛ? )
ЗЫ: на ассемблере первый раз писал что-то сам, так что извините если полную фигню сейчас написал. Вот текст моей "программы" )

Приложение:

Отправлен: 21.07.2007, 18:04
Вопрос задал: Mastobaev Vladimir Igorevich (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Mastobaev Vladimir Igorevich!

В самом обработчике добавить
-контроль регистра AH на те функции которые Вы перехватываете,
если функции не Ваши то выход JMP DWORD PTR CS:[Int_10h_vect]
-в блоке init нужно устанавливать обработчик на прерывание 16h,
также замените все 10h на 16h
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 21.07.2007, 18:36


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное