Мегаобучалка Главная | О нас | Обратная связь


Компиляция и компоновка



2016-09-16 612 Обсуждений (0)
Компиляция и компоновка 0.00 из 5.00 0 оценок




Лабораторная работа №1

Средства разработки программного обеспечения на языке низкого уровня

Цель работы

Изучить основные характеристики, области применения ЭВМ различных классов. Получить основные навыки по использованию программного обеспечения на языке низкого уровня ассемблер.

Теоретические основы

Основные средства разработки программного обеспечения на языке ассемблера

В состав основных средств следует включить следующие программы:

ассемблер (assembler)- компилятор с языка ассемблера, т.е. программа, переводящая исходный текст программы на языке, понятном человеку (точнее сказать "на языке понятном программисту") в язык, понятный компьютеру (машинный код). Так как программы обычно составляются из нескольких частей, написанных независимо друг от друга и, зачастую, на разных языках и разными программистами, то компилятор любого языка из любого пакета создает так называемые объектные модули, т.е. файлы специального формата, содержащие помимо машинного кода другую информацию, необходимую для работы компоновщика и отладчика. В DOS и Windows такие файлы получают расширение obj, а в Unix – o;

компоновщик (linker)- программа, предназначенная для создания исполняемой программы из объектных модулей;

отладчик (debuger)- программа для поиска и локализации в программе логических ошибок или для тестирования программы (проверки на правильность работы). Может также использоваться для изучения работы "чужих" программ, которые недоступны в исходных текстах.

К числу других средств следует отнести:

дизассемблер (disassembler)- программа, переводящая исполняемый машинный код в исходный текст на языке ассемблера. В принципе, часть функций дизассемблера выполняют отладчики, но для получения листинга все же потребуется дизассемблер. Такая утилита может понадобится, если необходимо убедиться в правильности машинного кода или "расшифровать"

программу, для которой недоступен исходный текст;

шестнадцатиричный редактор (hex editor)- редактор бинарных файлов (программ, библиотек, архивов, изображений и т.д.), в котором содержимое редактируемого файла представляется в шестнадцатиричном формате. Подобный редактор может использоваться, например, для того, чтобы исправить без перекомпиляции программы какую-нибудь команду или константу;

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

системе. В DOS и Windows библиотеки имеют расширение lib, а в Unix - a или la;

эмулятор (emulator)– программа, которая может понадобиться при кроссразработке, например, при программировании микроконтроллеров. Позволяет запускать машиный код “неродной” архитектуры.

Пакет OpenWatcom

Данный лабораторный практикум ориентируется на использование открытого программного обеспечения в лице пакета OpenWatcom. Его "домашняя страничка" - http://www.openwatcom.org/.

Здесь можно получить исходные тексты пакета и установочные программы для Windows и OS/2.

Плюсы данного подхода:

• бесплатность и общедоступность полнофункционального программного обеспечения;

• совместимость в разных смыслах с популярными, но закрытыми пакетами Borland Turbo Assembler (TASM) и Microsoft Macro Assembler (MASM);

• использование для ассемблера синтаксиса Intel, позволяющее продолжать разрабатывать программы на ассемблере, написанные для пакетов TASM и MASM, и использовать широко распространенную и доступную документацию и литературу (прежде всего на русском языке);

• постоянное развитие и совершенствование пакета, выражаемое в лучшей поддержке средствами разработчика современных аппаратных платформ по сравнению с пакетами TASM и MASM.

Недостатки данного подхода:

• ориентация пакета на платформы DOS, Windows и OS/2, т.е. невозможность использования данного пакета на платформе Unix и, как следствие, невозможность использования навыков программирования на языке ассемблера, полученных в среде Unix;

• отставание в поддержке современных платформ по сравнению с другими открытыми средствами разработчика, такими как, Netwide Assembler (NASM), Flat Assembler (FASM) и GNU Assembler (GNU as).

 

Основные инструментальные средства, входящие в состав пакета

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

• wasm - компилятор с языка ассемблера;

• wlink - компоновщик объектных модулей в исполняемую программу;

• wd - интегрированная среда предназначенная для отладки и дизассемблирования программ.

 

Компиляция и компоновка

Будем считать, что файл программы на языке ассемблера называется main.asm.

Для выполнения последующих команд необходимо установить корректное значение переменной окружения PATH, чтобы операционная система могла определить местонахождение этих команд.

По умолчанию пакет OpenWatcom устанавливается в каталог c:\watcom. Тогда переменную PATH нужно дополнить значением c:\watcom\binw.

set PATH=c:\watcom\binw;%PATH%

Компиляция ассемблерного модуля осуществляется следующей командой:

Wasm main.asm

А компоновка в исполняемую программу формата exe операционной системы DOS:



2016-09-16 612 Обсуждений (0)
Компиляция и компоновка 0.00 из 5.00 0 оценок









Обсуждение в статье: Компиляция и компоновка

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (612)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)