Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 417
от 15.11.2002, 21:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1822 Отправлено ответов: 5697 Активность: 312.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Supra Статус: Опытный Общий рейтинг: 119.13 [Подробней >>] |
Beeblebrox Статус: Профессиональный Общий рейтинг: 112.73 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Sergey Статус: Начальный Общий рейтинг: 102.43 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 112.67 URL: мощный файловый архив [Подробней >>] |
Валентин Статус: Начальный Общий рейтинг: 106.89 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 130.26 URL: моя рассылка по Protected Mode [Подробней >>] |
Andrew Vext Статус: Начальный Общий рейтинг: 114.47 [Подробней >>] |
Maverick Статус: Опытный Общий рейтинг: 136.61 URL: Задачи по ассемблеру Телефон: 89039415024 (BiLine GSM) [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 155.3 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 152.64 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 117.13 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 114.73 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 119.51 [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 127.68 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 117.92 URL: Мой сайтик... [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1761. Уважаемые эксперты подскажите пожалуйста название плугина для проигрователя xmms в Линухе для прост... (ответов: 1)
Вопрос № 1762. Hi M = 3+((((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/1... (ответов: 3)
Вопрос № 1763. Кто знает как под Win XP (2000) достучаться до загрузочного сектора. Проблема в чем: Необходимо узна... (ответов: 5)
Вопрос № 1764. <Приветствую Вас, Андрей! <А где команда "in", сначала надо отправить, потом забрать. Здра... (ответов: 1)
Вопрос № 1765. привет, эксперты! при компиляц. w32 с использ. тасм5.0 возник ошибка (см. начало приложения). раньш... (ответов: 4)
Вопрос № 1766. Привет всем! Если этот вопрос пришел дважды, прошу прощения - видимо не дошло подтверждение. Выброс... (ответов: 2)
Вопрос № 1767. 1- как в защите обратиться к винчестеру? 2- прописываю команды HTML при отправке почты, а они почему... (ответов: 4)
Вопрос № 1768. Уважаемый эксперт Supra. Что-то мы с вами никак не поймем друг друга. Я знаком с командами in (читат... (ответов: 1)
Вопрос № 1769. Добрцый день Maverick. Из этой ситуации мог бы получиться анегдот на компьютерную тему. Нет, конечно... (ответов: 1)
Вопрос № 1770. Уважаеммые эксперты! У меня к вам такой вопрос Калашникоф в своей рассылке советует смотреть работу ... (ответов: 10)
Вопросов: 10, ответов: 32
Вопрос № 1761 |
Уважаемые эксперты подскажите пожалуйста название плугина для проигрователя xmms в Линухе для простмора фильмов MPEG4 и где его скачать
Вопрос отправлен: 10.11.2002, 21:13
Отправитель: Lukitkan (lukitkan@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Supra
Здравствуйте, Lukitkan!
Скачай на mpeg player
Ответ отправлен: 11.11.2002, 00:00
Отправитель: Supra
Вопрос № 1762 |
Hi
M = 3+((((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(1-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(29/((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))+1))*((21-(Y-19*(Y/19)))/11)))-((Y+Y/4+((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(1-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(29/((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))+1))*((21-(Y-19*(Y/19)))/11)))+2-(Y/100)+(Y/100)/4)-7*((Y+Y/4+((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(1-((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))/28)*(29/((((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)-30*(((Y/100)-(Y/100)/4-((Y/100)-(((Y/100)-17)/25))/3+19*(Y-19*(Y/19))+15)/30))+1))*((21-(Y-19*(Y/19)))/11)))+2-(Y/100)+(Y/100)/4)/7)))+40)/44
Можно ли как-то средствами MatLAB (или еще каким нить способом, только
не вручную :) )
упростить вышеприведенное выражение M до минммально возможного БЕЗ
ВВЕДЕНИЯ ДОПОЛНИТЕЛЬНЫХ ПЕРЕМЕННЫХ. Все знаки деления - на самом деле
в результате берется ТОЛЬКО ЦЕЛАЯ ЧАСТЬ ОТ ПОЛУЧЕННОГО ЗНАЧЕНИЯ.
Поможите хто может.
Хто работал в матлабе - не может быть, чтоб оно не переварило такого монстра.
Вопрос отправлен: 10.11.2002, 21:53
Отправитель: Broken Sword (brokensword@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Beeblebrox
Добрый день, Broken Sword!
Ну, ты даешь! :)))
Сразу скажу, это - неверный путь. Из целочисленных алгоритмов самый короткий - именно тот, который в правилах компо, только для данного диапазона лет К=0
Но я думаю, что победит алгоритм, вычисляющий I (число дней до первого же после 21-го марта новолуния) с использованием сопроцессора или арифметики с фиксированной точкой. Подсказка: 1 год = 365.2522 дней, 1 лунный месяц = 29.53058 дней
Ответ отправлен: 11.11.2002, 13:10
Отправитель: Beeblebrox
Отвечает Sergey
Добрый день, Broken Sword!
К сожалению ничем не могу тебе помочь.(В АСМе я еще не очень)
Но надеюсь что скоро я смогу тебе помочь.
Ответ отправлен: 10.11.2002, 22:09
Отправитель: Sergey
Отвечает Eugene
Добрый день, Broken Sword!
Было в Matlabe что-то нужное тебе. Я правда за давностью лет не могу вспомнить точно, но это где-то было в Symbolic Toolbox. Попробуй там поискать для решения символьных уравнений.
Ответ отправлен: 11.11.2002, 09:56
Отправитель: Eugene
Вопрос № 1763 |
Кто знает как под Win XP (2000) достучаться до загрузочного сектора.
Проблема в чем: Необходимо узнать серийный номер диска (любого).
При стандартных ситуациях (как в досе и Win9x) получается.
При переходе на Win2000(XP) система сообщает, что доступ
к диску запрешен (как в режиме чтения, так и в режиме записи).
Посоветуйте как это сделать под WinXP.
Вопрос отправлен: 11.11.2002, 05:32
Отправитель: Alex (alex_general@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Валентин
Здравствуйте, Alex!
Попробуй использовать DeviceControl. Но какие права должны быть у тебя что бы программа могла использовать эту функцию не знаю.
С уважением Валентин.
Ответ отправлен: 11.11.2002, 13:02
Отправитель: Валентин
Отвечает Broken Sword
Приветствую Вас, Alex!
незнаю, чего она там сообщает, в WinHex-е все прекрасно видно
Ответ отправлен: 11.11.2002, 18:10
Отправитель: Broken Sword
Отвечает Andrew Vext
Здравствуйте, Alex!
В Windows NT непосредственный доступ к оборудованию запрещен. У вас есть несколько вариантов:
1. Написать собственный драйвер устройства, который и будет читать загрузочный сектор или MBR и передавать его программе.
2. Изучить функции установленного драйвера HDD и работать через них.
3. Воспользоваться Win2000 Native API.
Если нужна более подробная информация, пишите.
Andrew Vext
Ответ отправлен: 11.11.2002, 12:02
Отправитель: Andrew Vext
Отвечает Maverick
Здравствуйте, Alex!
Ну да, XP это не нравится.
Походу тебе придется писать в защищенном режиме на нулевом уровне привелегий.
Ответ отправлен: 11.11.2002, 15:26
Отправитель: Maverick
Отвечает Bob Johnson
Здравствуйте, Alex!
Попробуй функцию CreateFile - т.к. под win xp она позволяет открывать диски (как логические, так и физические) целиком.
Ответ отправлен: 12.11.2002, 14:52
Отправитель: Bob Johnson
Вопрос № 1764 |
<Приветствую Вас, Андрей!
<А где команда "in", сначала надо отправить, потом забрать.
Здравствуй эксперт Supra.
Извени- не понял. Зачем забирать. Видимо есть правила о которых я не знаю. Расскажи пожалуйсто. Или скажи: где прочитать.
С уважением, Андрей.
Вопрос отправлен: 11.11.2002, 10:54
Отправитель: Андрей
[Следующий вопрос >>] [Список вопросов]
Отвечает Supra
Добрый день, Андрей!
Есть две команды: in и out. Одна отправляет в порт значение
, другая опрашивает порт. Лучше делать это через AL/AX.
Ответ отправлен: 11.11.2002, 13:58
Отправитель: Supra
Вопрос № 1765 |
привет, эксперты!
при компиляц. w32 с использ. тасм5.0 возник ошибка (см. начало приложения). раньше подобную ошибку удалось непонятно как исправить путем только изменения названия метки (до чего я дошел после примерно 5 часов попыток скомпилир. файл), причем, как и сейчас, тасм32 проходит код 2 раза без ошибок (тем более на какието там метки).Не могли бы вы ответить, что происходит?
Приложение:
Вопрос отправлен: 11.11.2002, 12:12
Отправитель: oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, oleg!
Разбирать код, написанный в таком стиле у меня нет ни времени ни желания. Единственное, что посоветую - грузи отладчик и там смотри что к чему. Ошибка в кернеле возникает, т.е. программа (я так понял - компилятор) и является инициатором ошибки, почему - х.з. Попробуй на другой версии попробовать.
Ответ отправлен: 11.11.2002, 12:55
Отправитель: masquer
Отвечает Eugene
Приветствую Вас, oleg!
У меня была похожая проблема, но только с turbo debugger'oм. Причём проявлялась она только при работе в фаре. Решалась она просто: я перед запуском td запускал какую-нибудь левую прожку *.com под дос. После неё всё работало как часы. А в чём проблема, я так и не разобрался.
Ответ отправлен: 12.11.2002, 09:48
Отправитель: Eugene
Отвечает St
Привет, oleg!
Это очень хорошо что вы приложили код программы, однако без вашего же inc-файла сассемблировать сложно. Также стоит указывать ключи программирования.
Первая ошибка, которая встретилась - 4 строка - не STRUCT, а STRUC.
Сорри что не смог помочь сразу же.
St
Ответ отправлен: 11.11.2002, 13:16
Отправитель: St
Отвечает Bob Johnson
Приветствую Вас, oleg!
У меня TASM32 версии 5.3 и TLink32 версии 1.6.71.0
- после некоторой переделки твоей проги (определения всяких там символов и т.д.) она стала нормально компилироваться. Попробуй сменить версию компилятора.
Прилагаю вариант, который у меня компилируется в 8-кб файл.
P.S. почему ты используешь функцию OpenFile - она же устарела - вместо нее следует использовать CreateFile.
Приложение:
Ответ отправлен: 12.11.2002, 14:52
Отправитель: Bob Johnson
Вопрос № 1766 |
Привет всем!
Если этот вопрос пришел дважды, прошу прощения - видимо не дошло подтверждение. Выбросте.
Меня интересовал вопрос программирования таймера 8253(8254)
под виндоуз. Возможно ли такое. Потому как под дос это делается, да вы наверное это прекрасно знаете, исходники есть например в "справочнике программиста..." Джордейна с объяснениями. Под программированием понимается установка временных интервалов, обработка тиков и т.д.
Вопрос отправлен: 11.11.2002, 13:10
Отправитель: Евгений (codex@nserv.iki.rssi.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Andrew Vext
Добрый день, Евгений!
На всякий случай повторю предыдущий ответ.
Чтобы обратиться к портам из под Windows NT надо писать драйвер. Из пользовательского приложения это сделать нельзя. Но вообще-то обработка временных интервалов реализуется другими способами.
Andrew Vext
Ответ отправлен: 11.11.2002, 13:31
Отправитель: Andrew Vext
Отвечает Bob Johnson
Добрый день, Евгений!
Какого именно канала таймера? Если того, который выдает звук на бипер - можно. Если же того, который отвечает за прерывания (IRQ 0) - то нельзя (Хотя из драйвера можно, но это приведет к нестабильной работе системы).
Ответ отправлен: 12.11.2002, 14:53
Отправитель: Bob Johnson
Вопрос № 1767 |
1- как в защите обратиться к винчестеру?
2- прописываю команды HTML при отправке почты, а они почему-то не работают, в письме так и
приходят текстом?
Спасибо за ответ.
Вопрос отправлен: 11.11.2002, 14:10
Отправитель: Настасья
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Настасья!
Ты бы подробнее описал(а?) по первому пункту, что значит в защите (защищенный режим или защита от взлома)
Ответ отправлен: 11.11.2002, 14:51
Отправитель: masquer
Отвечает Maverick
Добрый день, Настасья!
В какой защите?
Через порты винчестера.
Если надо, то дам доку.
Maverick@nightmail
Ответ отправлен: 11.11.2002, 15:25
Отправитель: Maverick
Отвечает baldr
Добрый день, Настасья!
1) Какой еще защите?? :( Извиняюсь за пошлость, презервативе что ли? Или Вы радиационную
защиту надеваете при работе с винчестером?
Вот, терпеть ненавижу отвечать на такие вопросы - читателям лень писать вопрос подробнее, а
они думают, что эксперт будет перед ними распинаться, сочиняя многостраничную документацию...
Ну, допустим, я угадал, что эта "защита" - на самом деле защищенный режим процессора...
Ну и что? Чистый ли это ЗР? А может, с DPMI? А может, Вас программирование из-под Windows(Linux)
интересует? :(
2) Тут тоже приходится домышлять за читателей... :(
Почту-то Вы как отправляете? Через MSOutLook, TheBat!, Netscape или какой еще прогой??
В общем, есть два основных способа передачи текстовых сообщений (так называемый mime-стандарт):
в виде "чистого" текста (plain) - это когда любые символы отображаются в том виде, каком они были
набраны. В TheBat! можно отправлять письма только в этом виде. Получать можно любые.
Второй - это "гипертекстовый" (html) - когда в документе подразумеваются служебные символы,
которые интерпретируются программой и выводятся на экран как оформленный текст (html-документ).
В Вашем случае в почтовой программе задан первый тип, поэтому-то и не получается отправить
в html-виде.
Ответ отправлен: 11.11.2002, 22:39
Отправитель: baldr
Отвечает Bob Johnson
Доброе время суток, Настасья!
1. ??? Под Windows - функция CreateFile. Она позволяет открывать как файлы, так и целые диски (Win NT/2k/XP).
2. Попробуй использовать другую почтовую программу, которая позволяет отправлять письма в формате HTML.
Ответ отправлен: 12.11.2002, 14:53
Отправитель: Bob Johnson
Вопрос № 1768 |
Уважаемый эксперт Supra.
Что-то мы с вами никак не поймем друг друга. Я знаком с командами in (читать из порта) и out (записать в порт), а также с формой их применения через регистры dx и al (OUT DX,AL); (IN AL,DX). В приложенном мною примере к вопросу № 1758 я вовсе не приследовал цель читать из порта, я использовал его только, как порт вывода. А судя по вашему ответу этого нельзя сделать, не используя оба оператора (in и out). До сих пор не понимаю о чем речь. Проблема в том, что записывая в порт 378H
(по моим данным- это порт вывода байта данных на принтер) число FF:
mov dx,378h
mov al,0ffh
out dx,al
я не увидел никаких изменений на разъеме порта принтера.
Заранее благодарен.
С уважением, Андрей.
Вопрос отправлен: 11.11.2002, 16:23
Отправитель: andrej
[Следующий вопрос >>] [Список вопросов]
Отвечает Supra
Приветствую Вас, andrej!
Сожалею, что мы не поняли друг друга. Но каких изменений на разъеме
порта принтера вы ожидали увидеть?.
Сильно извиняюсь за задержку в ответах.
Ответ отправлен: 15.11.2002, 16:58
Отправитель: Supra
Вопрос № 1769 |
Добрцый день Maverick.
Из этой ситуации мог бы получиться анегдот на компьютерную тему.
Нет, конечно не собирался я менять питание. Я лишь хотел увидеть изменение логического уровня на информационном выводе порта с логического "0"(0 Вотьт) на логическую "1"(+5 Вольт; если точнее- чуть меньше). По моим данным порту 378H соответствуют 2-9 ноги разъема принтера.
Благодарен за реакцию. С уважением Андрей.
Вопрос отправлен: 11.11.2002, 17:03
Отправитель: Андрей
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Доброе время суток, Андрей!
Извиняюсь, значит не понял шутки :).
Но все равно, вот я написал, посмотрел:
mov dx,378h
in al,dx
там и так находится ffh, а ты посылаешь туда байт повторно.
.......
mov dx,378h
in al,dx ;вывели байт из порта, al=0ffh
mov al,XXh ;где XX байт, который нам надо послать в порт
out dx,al ;послали
in al,dx ;опять вывели, видим, что al=XX
..........
Ты про это спрашивал?
Погляди на это в отладчике, и все станет ясно.
XX ставь, тот который надо.
Ответ отправлен: 12.11.2002, 04:46
Отправитель: Maverick
Вопрос № 1770 |
Уважаеммые эксперты!
У меня к вам такой вопрос
Калашникоф в своей рассылке советует смотреть работу программ из под отладчика.
Я скачал с его сайта Turbo Debugger 5.0
При попытке загрузить *.com файл оно выдает следующее
Program has no symbol table(The programm you wish load does not have a symbol table. Re-link the programm so that it has a symbol table.)
Как я понял , мне надо перелинковать файл чтоб он содержал таблицу символов.
Подскажите как это сделать, пожалуйста.
Заранее спасибо.
Александр.
Вопрос отправлен: 11.11.2002, 20:11
Отправитель: Александр
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, Александр!
Не обращай на это внимания - он всегда так пишет.
Ответ отправлен: 12.11.2002, 19:06
Отправитель: ASMодей
Отвечает Beeblebrox
Приветствую Вас, Александр!
СОМ-файл - никак! Так что не обращай внимания, жми Энтер и работай
Ответ отправлен: 12.11.2002, 09:00
Отправитель: Beeblebrox
Отвечает LIFO
Приветствую Вас, Александр!
По- моему это не помешает тебе исследовать программу.
Посмотри окно отладчика с кодом - там будут инструкции твоей проги.
Ответ отправлен: 13.11.2002, 21:49
Отправитель: LIFO
Отвечает Supra
Доброе время суток, Александр!
tasm /zi/z
tlink /v
Ответ отправлен: 15.11.2002, 16:54
Отправитель: Supra
Отвечает St
Привет, Александр!
К сожалению отладочная информация не включается в com-файлы. Но вы можете написать программу в виде exe-файла, отладить ее, а затем или превратить в com с помощью утилиты exe2bin (не всегда возможно) или слегка переделать исходник (см Приложение для определения разницы. Кроме того не следует менять значения сегментных регистров в exe-файле (кроме тех случаев когда вы адресуетесь к данным вне программы), тогда не придется ничего менять в com-файле)
St
Приложение:
Ответ отправлен: 11.11.2002, 22:09
Отправитель: St
Отвечает baldr
Доброе время суток, Александр!
Ничего страшного! Это всегда бывает. В com-файл ты отладочную информацию вряд ли запихнешь...
А эта таблица символов бывает нужна только при отладке больших программ, написанных на языках
более высокого уровня. Я с такими никогда не сталкивался и такая надпись у меня всегда появляется.
Ответ отправлен: 11.11.2002, 22:40
Отправитель: baldr
Отвечает Broken Sword
Доброе время суток, Александр!
Borland C++ 4.5 и 5.0
Для создания стандартной отладочной информации Borland следует компилировать и компоновать приложение с параметром /v
Delphi 2.0
Для создания стандартной отладочной информации Delphi следует производить компиляцию со следующими параметрами:
-V для включения отладочной информации в исполняемый файл
-$W+ для создания кадров стека
-$D- для создания отладочной информации
-$L+ для создания локальных отладочных символов
-$O- для отключения оптимизации кода
MASM 6.11
Для создания отладочной информации CodeView:
ассемблировать с параметрами /Zi /COFF, а затем использовать 32-разрядный компоновщик LINK со следующими параметрами:
/DEBUG /DEBUGTYPE:CV /PDB:NONE
TASM 4.1 Для включения отладочной информации следует компилировать программу с такими параметрами: /zi для полной информации, /zd – информация только о номерах строк, а компоновку производить с параметром /v
Microsoft Visual C++ 2.x, 4.0, 4.1, 4.2, 5.0 и 6.0
Для создания базы данных отладочной информации программы (PDB) (например, для VxD):
-Компилировать, используя опцию /Zi
-Использовать компоновщик Microsoft с параметрами /DEBUG /DEBUGTYPE:CV
Для создания отладочной информации CodeView:
Компилировать с C7-совместимой отладочной информацией, используя опцию командной строки /Z7
Использовать компоновщик Microsoft с параметрами:
/DEBUG /DEBUGTYPE:CV /PDB:NONE
Прим.: если используется стандартная процедура создания Windows NT DDK, то применимы следующие переменные окружения:
NTDEBUG=ntsd и NTDEBUGTYPE=windbg
Symantec C++ 7.2
Компилятор фирмы Symantec создает отладочную информацию CodeView по умолчанию. Все что требуется – это разрешить ее вывод:
-компилировать с ключом –g (или –gh, -gf и –gg)
-компоновать проект с ключом /CO
Watcom C++ 10.5
Для создания отладочной информации CodeView:
-компилировать с ключами –hc –d3
-компоновать проект с ключами:
DEBUG CODEVIEW OPTION CVPACK
Ответ отправлен: 12.11.2002, 00:18
Отправитель: Broken Sword
Отвечает Валентин
Добрый день, Александр!
Наверное огорчу Вас, но com-файл не может содержать отладочной информации в принципе. Если Вам нужна отладочная информация, то Вашу программу необходимо слинковать как ЕХЕ-файл с соответствующими опциями для компилятора и линкера.
Что же касается отладки, тот мне кажется что SoftIce намного удобнее, плюс ко всему он грамотнее обрабатывает вызовы прерываний.
С уважением Валентин
Ответ отправлен: 12.11.2002, 00:40
Отправитель: Валентин
Отвечает Bob Johnson
Добрый день, Александр!
Tasm /zi ....
Tlink /v ....
"...." - заменяешь своими параметрами.
Ответ отправлен: 12.11.2002, 14:53
Отправитель: Bob Johnson
Отвечает Portnov
Приветствую Вас, Александр!
Значиться так. Есть такая вещь - отладочная информация. Основной частью ее является таблица символов. По-русски - это таблица, содержащая имена идентификаторов (имен) в вашей программе и соответствующие им адреса в файле. При отладке ее отсутствие выльется в то, что вместо имен будут видны только адреса. Скажем, вы писали jmp My_Label, а в отладчике увидите jmp xxxxh. Однако, если программа небольшая и под рукой к тому же есть исходник, то вам эти имена и не нужны, тем более в учебных целях без имен даже лучше.
Отладочная информация с помощью спецальных ключей ассемблера и линкера включается в экзешник отдельным разделом. Однако, COM-формат не поддерживает включение отладочной информации, так уж он устроен. Так что сообщение турбо дебуггера следует в вашем случае проигнорировать, нажав OK. Отлаживать можно спокойно и так, без отладочной инфы, только вместо имен вы увидите соответствующие адреса.
Если же вы собираетесь делать экзешник (.exe) и вам позарез нужна эта отладочная инфа, надо при вызове Tasm поставить ключ /zi. Про масм не помню, авось другие эксперты скажут.
С уважением, Portnov.
Ответ отправлен: 12.11.2002, 16:37
Отправитель: Portnov
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (42) C / C++ (30) Perl (9) Delphi (13) Pascal (22) Basic / VBA (11) Java / JavaScript (12) PHP (10) MySQL / MSSQL (8) |
Пользователю Windows 95/98/Me (28) Windows NT/2000/XP (19) "Железо" (27) Поиск информации (14) |
Администратору Windows NT/2000/XP (10) Linux / Unix (16) |
Юристу Гражданское право (9) Семейное право (4) Трудовое право (4) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||