Эволюция языка программирования Ассемблер
Рефераты >> Программирование и компьютеры >> Эволюция языка программирования Ассемблер

4-й этап состоит в отладке программы с использованием отладчика Turbo Debugger, который будет являться основным инструментом при изучении форматов команд, их кодирования, а также представления переменных программы в памяти.

3.2.2. Macro Assembler

Пакет Макро Ассемблера включает в себя основные программы, необходимые для создания, отладки и сопровождения программ на языке ассемблера.

В состав пакета Макро Ассемблера входят следующие программные компоненты:

MASM - макроассемблер

LINK - объектный линкер 8086

SYMDEB - символьный отладчик программ

MAPSYM - генератор символьного файла

CREF - утилита перекрестных ссылок

LIB - утилита обслуживания библиотек

MAKE - утилита сопровождения программ

Макроассемблер MASM создает программы, которые могут быть выполнены микропроцессорами 8086, 8088, 80186 и 80286, а также может ассемблировать программы для компьютеров с сопроцессорами 8087 и 80287.

Линкер LINK обрабатывает выработанную MASM объектную программу с целью разрешения ссылок к другим модулям и приведения программы к виду, пригодному для загрузки в память.

Утилита LIB обеспечивает формирование и обслуживание библиотек объектных модулей, которые могут быть использованы LINK для разрешения внешних ссылок.

Отладчик SYMDEB реализует отладку сформированной программы на двух уровнях: на уровне символических имен и на уровне абсолютных адресов.

Программа MAPSYM предназначена для создания символьного файла для SYMDEB. Символьный файл формируется на основе информации, полученной от MASM, и необходим для символьной отладки.

Утилита CREF может быть использована для формирования листинга перекрестных ссылок программы, наличие которого облегчает отладку.

При помощи утилиты MAKE процесс разработки программ может быть автоматизирован. В файле описаний MAKE могут быть заданы различные алгоритмы вызовов и взаимодействия программ пакета (и не только их).

Кроме указанных программ, для создания ассемблерных исходных файлов необходим также редактор текстов, работающий в коде ASCII без управляющего кода. Многие редакторы текстов, которые обычно используют управляющие коды или другие специальные форматы в документах, обеспечивают также программирование или недокументированный режим для формирования ASCII-файлов.

Пакет макроассемблера работает в операционной системе MS-DOS или PC-DOS версии 2.0 и выше и требует наличия минимум 128К памяти (использование команды SYMDEB может потребовать дополнительной памяти).

Макроассемблер обеспечивает выполнение следующих функций:

1. Анализ исходного текста на языке ассемблера на предмет наличия в нем макрокоманд и/или макроопределений и обработка этих конструкций с соответствующей коррекцией исходного текста.

2. Синтаксический анализ полученного текста и вывод необходимой диагностической информации.

3. Формирование объектного модуля[9].

3.2.3. Netwide Assembler

Расширенный Ассемблер NASM – это 80x86 Ассемблер, разработанный исходя из принципов переносимости и модульности. Он поддерживает широкий диапазон форматов объектных файлов, включая форматы Linux a.out и ELF, NetBSD/FreeBSD, COFF, Microsoft 16-bit OBJ и Win32. Он способен также создавать простые бинарные файлы. Синтакс NASM максимально упрощен для понимания и похож на синакс Intel, но слегка посложнее. Он поддерживает инструкции Pentium, P6 и MMX, а также имеет макро-расширения.

Расширенный Ассемблер вырос из идеи, поданной на comp.lang.asm.x86, когда по существу не было хорошего свободно доступного ассемблера серии x86 и нужно было, чтобы кто-то написал его.

Язык состоит из четырех исполняемых файлов: NASM-исполняемые файлы nasm.exe и nasmw.exe, и NDISASM-исполняемые файлы ndisasm.exe и ndisasmw.exe. Файлы, имеющие в окончании имени w, работают под Win9x/ME/NT, а те, которые без w — работают под DOS-ом.

При создании программы NASM выбирает имя выходного файла самостоятельно; так как это зависит от формата объектного файла. Если формат объектного файла — Microsoft (*.obj* и win32), он удалит расширение .asm (или любое другое, какое вам нравится использовать — NASMу все равно) из имени исходного файла и заменит его на *.obj*. У объектных файлов Unix-формата (aout, coff, elf и as86) он будет заменять расширение на *.o*. Для формата *.rdf* он будет использовать расширение *.rdf*, а в случае формата *.bin* он просто удалит расширение (например из myfile.asm получится файл myfile).

Если выходной файл уже существует, NASM перезапишет его, если только его имя не совпадает с именем входного файла — в этом случае появится предупреждение и в качестве выходного файла будет использовано имя nasm.out.

В случаях, когда имя по умолчанию недопустимо, используйте ключ - o командной строки, позволяющий определить необходимое вам имя выходного файла. Имя выходного файла должно следовать за ключом - o, неважно с пробелом между ними или без[10].

3.2.4. Краткое описание других видов Ассемблера

Power Assembler 32.

Интегрированная среда разработки – «три в одном», - избавляет программиста от нудного набора опций командной строки транслятора и компоновщика вручную. Power Assembler имеет функции оболочки для двух самых распространенных ассемблеров: Borland (Inprize) Turbo Assembler (версия 4.0 и выше) и Microsoft Macro Assembler (версия 6.14 и выше). В интегрированной среде разработки встроен удобный, легко настраиваемый под Ваши нужды редактор с возможностью выделения синтаксиса различными цветами, включения автоотступа, и сохранения файлов в формате *.rtf*.

Внешний вид интерфейса Power Assembler можно изменять по своему желанию, так как фоновые изображения для инструментальных панелей, а также кнопок доступны в виде графических файлов.

Кроме того, Power Assembler предоставляет множество полезных и удобных инструментов и функций: инспектор (инструмент навигации, поиска и редактирования текста), база шаблонов (категоризированное хранилище шаблонов), библиотека кодов (категоризованное хранилище часто используемых кодов - констант, процедур и т.п.), инструментарий (база часто используемых программ) и др. Одним нажатием на кнопку в инструментальной панели можно оттранслировать, скомпоновать и выполнить программу на Ассемблере. Все ошибки транслятора и компоновщика переводятся на русский язык и выводятся в окно ошибок, позволяющее одним щелчком мыши на строке ошибки найти эту ошибку в исходном тексте модуля или открыть подключаемый модуль, содержащий ее, если он закрыт[11].

Visual Assembler.

Эта программа написана для тех, кто программирует на Ассемблере. Borland Tasm - транслятор сделанный для MSDOS. Т.к. начинающему программисту на Ассемблере будет сложно не допускать ошибок на этом языке, то постоянная компиляция и компоновка программы с помощью командной строки может быстро утомить и надоесть. Visual Assembler позволяет всё это упростить до минимума. Вы указываете программе путь TASM и TLINK и набираете текст в окне ввода. Когда вам необходимо откомпилировать программу, вы просто в меню программы выбираете тип компиляции, и программа выполняет всю рутинную операцию за вас. Один нюанс - в пути к TASM и TLINK и файлу с исходным текстом не должно быть пробелов.


Страница: