Использованием TASM и DosBox — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Использованием TASM и DosBox

2022-11-24 20
Использованием TASM и DosBox 0.00 из 5.00 0 оценок
Заказать работу

DosBox – эмулятор, создающий DOS-окружение, необходимое для запуска старых программ под управлением операционной системы MS-DOS. Эмулятор имеет открытый исходный код и кроссплатформенным. DOSBox является бесплатной программой, и её дистрибутив можно найти в открытых источниках сети Интернет. Дистрибутив DOSBox устанавливается на компьютер, после чего эмулятор становится доступным для работы.

Перед написанием программы на языке ассемблера сначала рекомендуется создать рабочую директорию на диске своего компьютера и скопировать в нее файлы пакета TASM. В нашем случае – это директория asm, путь к которой f:\ oks \ asm \.

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

В качестве примера возьмем текст программы сложения двух чисел, рассмотренный ранее. Исходная программа в Блокноте представлена на рисунке 2.

После этого необходимо сохранить файл, используя команду Файл/Сохранить или Файл/ Сохранить как, и указав в появившемся диалоговом окне имя файла и его расширение. asm.

Поскольку дальнейшая обработка исходного файла будет осуществляться в DOS-окружении, рекомендуется имена файлов записывать цифрами или латинскими буквами (можно с использованием цифр и символа подчеркивания) длиной не более восьми символов. Следует также помнить, что по умолчанию текстовый редактор Блокнот добавляет к именам сохраняемых файлов расширение. txt. Чтобы сохранить текст исходной программы в виде файла с расширением.asm, необходимо при сохранении в поле Тип файла выбрать тип Все файлы, а в поле Имя файла указать имя файла и через точку расширение.


Рис. 2. Текст программы сложения двух чисел

Сохраним текст программы сложения двух чисел в виде файла sum 1. asm в указанную ранее рабочую директорию, где уже находятся перечисленные ранее файлы пакета TASM. Диалоговое окно для сохранения файла представлено на рисунке 3.

Далее следует запустить виртуальную машину DosBox, используя соответствующий ярлык на Рабочем столе или выбрав соответствующую команду в меню Пуск или в терминале.

Внешний вид DosBox после запуска представлен на рисунке 4.


Рис.3. Диалоговое окно сохранения исходного файла

Рис.4. Внешний вид эмулятора DosBox после запуска

После этого необходимо связать диск C: или D в операционной системе MS-DOS с рабочей директорией, в которой расположены файлы пакета TASM и исходная программа. В нашем случае в командной строке следует указать:

mount d: f:\oks\asm\

Затем следует перейти на диск C: или D: в MS-DOS, что равносильно переходу в рабочую директорию исходной операционной системы, указанную в команде MOUNT. При необходимости с помощью команды

CD Имя_папки

можно перейти к директории с нужными файлами.

На рисунке 5 показан внешний вид виртуальной машины DosBox после перехода в рабочую директорию asm.

Рис5. Переход в рабочую директорию

Перечисленные на рисунке 5 команды можно прописать в файле конфигурации виртуальной машины DosBox, что позволит получать доступ к рабочей директории сразу после запуска DosBox.

На следующем шаге необходимо выполнить трансляцию исходного файла с расширением. asm для получения объектного модуля путем ввода в командной строке следующей команды:

tasm [ключи] \путь\имя_файла.asm

Необязательный параметр [ключи] позволяет задавать режим работы компилятора TASM. Этих ключей довольно много; при желании ознакомиться с ними можно в [16] или в краткой справке, вызвав в командной строке tasm. exe без параметров.

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

Если файл с расширением. asm находится в директории, отличной от директории расположения файлов пакета TASM, то в командной строке указывается путь к транслируемому файлу. Если исходный файл и файлы пакета TASM находятся в одной директории (как в нашем случае), то достаточно указать только имя файла с исходной программой.

Для трансляции ранее сохраненного файла sum 1. asm в командной строке следует ввести следующее:

tasm /z sum1.asm

В результате на экране появится последовательность строк. Первая из них будет содержать информации о номере версии пакета TASM, используемого для трансляции исходного файла. В следующей строке выводится имя транслируемого файла. В случае, если программа содержит лексические и синтаксические ошибки, то на экране появятся строки сообщений, начинающиеся словами «Error massages». Если исходный текст программы содержит синтаксически правильные, но не соответствующие некоторым соглашениям языка конструкции, то выводятся сообщения, начинающиеся со строки «Warning massages».

Для устранения ошибок необходимо локализовать их месторасположение и проанализировать ситуацию. Строки «Error massages» и «Warning massages» содержат информацию о номере строки с ошибкой и сообщение об ошибке. В этом случае необходимо перейти в исходный файл и исправить ошибку в указанной строке. После исправления ошибок необходимо сохранить изменения в исходном файле и повторно выполнить трансляцию.

Если ошибок не было или они были устранены, то на экран выводятся строки «Error massages» и «Warning massages» с сообщением None – Нет ошибок.

Следующие две строки содержат сведения о количестве проходов транслятора и объеме оставшейся памяти.

Пример трансляции файла sum 1. asm с ошибками и без ошибок представлен на рисунках 6 и 7, соответственно.

Рис.6. Пример трансляции файла sum 1. asm, содержащего ошибки

Рис.7. Пример трансляции файла sum 1. asm без ошибок

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

При отсутствии ошибок компилятором TASM создается объектный файл с расширением. obj с именем, по умолчанию совпадающим с именем исходного файла. Для файла sum 1. asm создаётся файл sum 1. obj.

Для получения исполняемого модуля необходимо запустить компоновщик tlink. exe в командной строке:

tlink [ключи] список_объектных_файлов

Необязательный параметр [ключи] позволяет задавать режим работы компоновщика. Этих ключей довольно много; при желании ознакомиться с ними можно в [16] или в краткой справке, вызвав в командной строке tlink. exe без параметров.

Будем использовать ключ / v, передающий в загрузочный модуль символьную информацию и позволяющий в дальнейшем отладчику выводить на экран полный текст исходной программы.

По умолчанию компоновщик наряду с исполняемым модулем создает специальный файл карты загрузки (с расширением. map), в котором размещается информация о сегментах программы. В нашей дальнейшей работе без него можно обойтись. Можно не создавать карту загрузки, указав / x при вызове tlink. exe.

Параметр список_объектных_файлов содержит перечень компонуемых файлов с расширением. obj, разделенных пробелами.

Для компоновки объектного файла sum 1. obj в командной строке следует ввести команду

tlink /v sum.obj

При отсутствии ошибок в рабочей директории создадутся два файла (с расширением. exe и. map) с именами, по умолчанию совпадающими с именем объектного модуля.

Можно не создавать файл с картой загрузки. Тогда формат команды будет выглядеть следующим образом:

tlink /v /x sum.obj

Для файла sum 1. obj создаётся исполняемый файл sum 1. exe. Пример компоновки файла sum1.obj приведен на рисунке 8.

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

Рис. 8. Компоновка файла sum 1. obj


Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.