Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63569
Модуль Forms 63394
ТЕХНОЛОГИИ ДОСТ... 60180
Пример работы с... 59281
Имитационное мо... 55618
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

Пользователей: 13,078
новичок: codepro
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных электронного документооборота на Delphi + бд Intebase
Метод конечных разностей для интерполяции/экстраполяции на Delphi
Обучающая и тестирующая программа по здаче экзамена ПДД на Turbo Pascal ...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Особенности разработки программ в MASM
Для успешной работы с ассемблером MASM корпорации Microsoft в современных
операционных средах (Windows NT\2000\XP) необходимо иметь версию 6.13 этого
пакета или выше. В него входят следующие основные программы:
^ masm.exe — ассемблер;
* ml.exe — ассемблер и компоновщик (Masm and Link);
s link.exe — компоновщик;
« cv.exe — отладчик (CodeView);
* lib.exe, implib.exe, nmake.exe, cref.exe, h2inc.exe, exehdr.exe, cvpack.exe, helpmake.exe,
rm.exe, undel.exe, exp.exe — вспомогательные утилиты.
В пакете MASM изначально предпринимались попытки совместить удобство
средств программирования, свойственных языкам высокого уровня, с традицион-
ными средствами машинно-ориентированных языков. Например, буква «М» в на-
звании пакета означает слово «macro», то есть возможность создания макроопре-
делений (или макросов), представляющих собой именованные группы команд. Их
можно вставлять в программу в любом месте, указав только имя группы. Когда-то
такая возможность действительно была отличительным свойством этого пакета,
но сейчас этим никого не удивишь — макросредства есть во всех ассемблерах для
платформы Intel (например, TASM), но, тем не менее, название осталось.
С помощью пакета MASM разработка программ выполняется традиционным
для ассемблерного программирования способом — запуском отдельных программ
трансляции, компоновки и отладки. Для этого используются программы masm.exe,
ml.exe, link.exe и cv.exe. Во избежание путаницы необходимо отметить, что транс-
ляция исходного файла может производиться двумя программами: masm.exe и
ml.exe. В чем разница? До выхода MASM версии 5.1 включительно программа
masm.exe была самостоятельным транслятором ассемблера. Начиная с MASM вер-
сии 6.0 трансляция ассемблерного файла обычно выполняется программой ml.exe,
которая кроме трансляции файла вызывает компоновщик link.exe. Это изменение
сделано с целью унификации вызовов компиляторов командной строки для всех
поддерживаемых этой фирмой языков программирования. К примеру, компиля-
цию программы на языке С из командной строки выполняет программа cLexe. Ее
задачи — компиляция исходной программы на языках C/C++ и, при отсутствии
синтаксических ошибок, компоновка и формирование исполняемого модуля. Ана-
логичные задачи решает и программа ml.exe. Хотя в пакете MASM 6.13 допустимо
использование программы masm.exe, нужно иметь в виду, что запуск link.exe в этом
случае также должен выполняться отдельно. Наличие программы masm.exe в паке-
те MASM 6.13 можно объяснить соображениями совместимости с предыдущими
версиями пакета, поэтому особого смысла в ее использовании нет.
Далее приведены форматы командных строк для запуска программ ml.exe,
masm.exe и link.exe, а описание их ключей можно найти в приложении В (http://
www.piter.com/download).
Командная строка ml.exe имеет вид
ml [ключи] исх_файл_1 [[ключи] исх_файл_2] . . . [/link ключи_11пК]
Ключи командной строки для ml.exe чувствительны к регистру.
Командная строка masm.exe имеет вид
masm [ключи] исх_файл [, [объектный_файл] [, [файл_листинга]
[, [файл_перекрестных_ссылок]]]]
Компоновщик компонует (объединяет) объектные файлы и библиотеки в ис-
полняемый файл или динамически компонуемую библиотеку (DLL). Командная
строка Link.exe имеет вид
link [ключи] объект_файлы [,[исполн_файл][,[файл_карты][,[файлы_6иблиотек]
[ , [ с ! е т _ ф а й л ] ] ] ] ] [ ; ]
Так же как и в случае пакета TASM, для эффективной работы с MASM нужно
провести некоторую дополнительную работу. Исполняемые файлы пакета
MASM 6.13 находятся в двух каталогах: ..\ВШ и ..\BINR. Для удобства работы их
лучше объединить в одном каталоге, к примеру, в каталоге ..\WORK. После этого
остается поместить туда исходный файл. Пример командной строки для получе-
ния пригодного к отладке исполняемого модуля может быть следующим:
M L . E X E /Zi /Fl Prg_6_l.asm
Если нет синтаксических ошибок, то можно запускать отладчик:
CV.EXE PRG_6_1.EXE
Опубликовал Kest January 04 2009 00:44:41 · 0 Комментариев · 10256 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Assembler. Практикум
Экспорт базы данн...
«Философия» прогр...
isoCanvas (Редакт...
Черный круг двига...
База данных фильм...
C++ Builder 6 СПР...
BIOS
PDF
CwstatusBar
CoolHints2k
Web Регистрация
TDBF
Таймер и секундомер
Учебник для продв...
Размещение элемен...
Цветной Grid
Базы данных в Инт...
Игра Car [Исходни...
Bitmap [для кнопок]

Топ загрузок
Приложение Клие... 100444
Delphi 7 Enterp... 85618
Converter AMR<-... 20065
GPSS World Stud... 12472
Borland C++Buil... 11526
Borland Delphi ... 8481
Turbo Pascal fo... 7020
Visual Studio 2... 4987
Калькулятор [Ис... 4728
FreeSMS v1.3.1 3533
Случайные статьи
Спецификация lOOOB...
Базовая структура ...
";" expected
Мебельные петли
другого пользователя
Ввод данных с тумб...
Подсистема STREAMS
Обработка транзакц...
Шаблоны классов
Межпроцессовые вза...
Функция GetPalette...
Обработка транзакц...
Режим перевода кад...
Сообщения протокол...
Как задать парамет...
Максимально свобод...
Categories. Нажмит...
Функциональное про...
Основные преимущес...
Листинг 9.2. После...
Проектирование
Перехват и обработ...
Google и тематика ...
Глава 8. Базовы...
спроектировать сет...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?