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

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.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
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
Отписаться
Убрать рекламу

В избранное