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

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


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

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

Выпуск № 606
от 19.11.2006, 10:35

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


Вопрос № 62500: Привет! У меня вопрос. Сидел я в tasm-e и тут решил пересесть на masm. Но сталкнулся с тем, что при переходе от версии к версии masm-а наполнение каталога bin меняется (в отличие от tasm-а в котором всегда tasm, tlink and td). Вопрос в том, что если ...
Вопрос № 62511: Здравствуйте, я уже вам писал по поводу характеристик дискового накопителя.Я нашел как это делать. Но вот вопрос. Как написать резидентную программу, которая загружается и при нажатии CTRL-S выводит например текст:"вы нажали CTRL+S"...

Вопрос № 62.500
Привет! У меня вопрос. Сидел я в tasm-e и тут решил пересесть на masm. Но сталкнулся с тем, что при переходе от версии к версии masm-а наполнение каталога bin меняется (в отличие от tasm-а в котором всегда tasm, tlink and td). Вопрос в том, что если можно полностью компилировать asm->exe с помощью ml, зачем тогда masm и link?
Отправлен: 13.11.2006, 21:39
Вопрос задал: Oxaid (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Eugene L
Здравствуйте, Oxaid!

masm.exe действительно не нужен: это пережиток DOSовских-версий транслятора.
а вот без link.exe не обойтись - экзешник ml.exe сам по себе не линкует
объектные модули - он вызывает этот самый link.exe по умолчанию.

ml.exe можно заставить генерировать только объектные модули (ключ /c)
и собирать их вручную в исполняемый файл с помощью link.exe

Например:
ml /c /coff "msgbox.asm"
link /SUBSYSTEM:WINDOWS "msgbox.obj"

Это более гибкий вариант. Зотя можно записать и так:
ml.exe /coff msgbox.asm /link /SUBSYSTEM:WINDOWS

Кому как больше нравится. Я лично предпочитаю 1й вариант.

Ответ отправил: Eugene L (статус: 1-ый класс)
Ответ отправлен: 13.11.2006, 23:09
Оценка за ответ: 5

Отвечает: IceWolf
Здравствуйте, Oxaid!
В современной версии MASM32 для ассемблирования используется ML.EXE, а файла MASM.EXE там и вовсе нет, он был в старых версиях. LINK.EXE-компоновщик, ML.EXE сам запускает его после создания объектного модуля,( если не указан клюс /c, тогда надо линковать вручную-нужно, например, чтобы слинковать несколько модулей) поэтому он обязательно нужен. В принципе их достаточно(не считая .lib'ы) для создания исполнимого файла. Также в MASM32 есть компилятор ресурсов RC.EXE , ещё много полезных утилит и подробная документация как всем этим пользоваться.
Кроме MASM'а есть ещё интенсивно развивающийся, перспективный проект FASM
flatassembler.net Там ассемблирование и линковка осуществляются одной программой fasm.exe, а параметры задаются в иходнике.
Переходить с тасма определённо надо, так как Боланд его больше не поддерживает. А вот на что переходить-решать вам.
С уважением IceW0|f.

---------
И да покарает пингвин мелких и мягких!
Ответ отправил: IceWolf (статус: 2-ой класс)
Ответ отправлен: 13.11.2006, 23:26
Оценка за ответ: 5


Вопрос № 62.511
Здравствуйте, я уже вам писал по поводу характеристик дискового накопителя.Я нашел как это делать.
Но вот вопрос.
Как написать резидентную программу, которая загружается и при нажатии CTRL-S выводит например текст:"вы нажали CTRL+S", а при нажатии CTRL-X выгружается из памяти.Пробовал через прерывание(аппаратное) int 09h - не работает.Пробовал через ф-ю 00H прерывания int 16h-тоже самое.Вот мои проги.Кто может что-нибудь подсказать.

Приложение:

Отправлен: 13.11.2006, 23:07
Вопрос задал: JONNY (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: IceWolf
Здравствуйте, JONNY!
Скорее всего Вы запускали свои программы под Windows, поэтому и не работает. Такие программы надо запускать хотя бы из-под FAR'а, хотя и там с резидентами бывают глюки. Наилучший вариант-установить на Ваш компьютер MS-DOS или виртуальную машину, а под ней MS-DOS.
С уважением IceW0|f.
---------
И да покарает пингвин мелких и мягких!
Ответ отправил: IceWolf (статус: 2-ой класс)
Ответ отправлен: 15.11.2006, 02:21


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное