Программные пакеты MASM и TASM (2ч) — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Программные пакеты MASM и TASM (2ч)

2022-10-04 22
Программные пакеты MASM и TASM (2ч) 0.00 из 5.00 0 оценок
Заказать работу

MASMи TASM.

Процесс подготовки и отладки программ на ЯА включает в себя этапы подготовки исходного модуля (ИМ), трансляции, компоновки и отладки.

1. Подготовка исходного модуля (текста программы).

Выполняется с помощью любого текстового редактора. Файл с исходным текстом должен иметь расширение.ASM.

Рекомендуется использовать редакторы, выводящие выходной файл в формате ASCII без дополнительных символов, часто вставляемых в текст специальными редакторами (например, MSWord). Можно рекомендовать редакторы NortonEditor или WordPad.

При работе в интегрированных средах программирования можно пользоваться встроенными редакторами. Например, для фирмы Microsoft – PWB (ProgrammerWorkBench) – входит в QuickCи в MASM.

В пакетах фирмы Borland все компиляторы языков C, C++, Pascal, так же содержат средства создания ассемблерных программ и фрагментов. 

2. Трансляция ИМ состоит в преобразовании строк исходного языка в коды машинных команд и выполняется с помощью транслятора (ассемблера).

Можно пользоваться трансляторами

MASMфирмы Microsoft или

TASMфирмы Borland.

Ассемблеры различаются в основном в части написания макросредств, но входной язык для всех ассемблеров одинаков. После трансляции образуется объектный модуль (ОМ), т.е. файл с расширением.OBJ.

Трансляция вызывается командами DOS, т.е.

MASMname

TASMname

Расширение можно не указывать.

Ассемблер формирует ОМ с тем же именем.

Можно указать путь к файлу. Например,

MASMD:\SRC\build

Здесь обрабатывается файл build.asm в директории SRC, образуется файл build.obj.

Кроме того, формируются файлы:

­­-.LST (list) - листинг ИМ

-.CRF(Crossreference) - файл перекрестных ссылок.

Этим файлом можно задать разные имена и указать опции трансляции.

<MASM>   [/{опции}] {исходник} [,{OM}[,{list}[,{cross}]]]

<TASM>

Имена {исходник}, {list} и {cross} можно указывать без расширения или с ним; можно отменить формирование одного из файлов или их группы. Т.к. порядок файлов фиксирован, то исключение из середины списка обозначается появлением двух запятых подряд, а отключение конца списка обозначается точкой с запятой. Например,

эквивалентно
TASMFIL1

TASMFIL1;

 

 

эквивалентно
MASMF.asm, F.obj, F.lst, F.crf

MASM F, F, F, F

MASM F,,,

 

Опции управляют работой ассемблера и форматом генерируемых файлов. Опции начинаются со знака «/» или «-». Набор опций варьируется в зависимости от пакета TASM или MASM, а также от версии.

Ниже приведен список общих опций:

/А – упорядочить сегменты в алфавитном порядке

/С – формировать файл перекрестных ссылок

/L – формировать файл листинга

/ML – различать малые и заглавные буквы в именах

/T – отменить сообщение об успешном ассемблировании

/Zi - воспроизводить на экране ошибочные строки

Опций может быть несколько и они размещаются:

- в MASM – в любом месте списка,

- в TASM – в начале перед списком имен.

Например,

TASM /L /ZiP,P1 

Здесь обрабатывается файл P.asm, формируются файлы P.lstи P1.obj

MASM /ZiSt,,Stest

Здесь обрабатывается файл St.asm, формируется файл Stest.lst

3. Компоновка ОМ выполняется программой компоновщика (редактор связей).

Либо LINKname– совместимо с MASM

Либо TLINKname – совместимо с TASM

Основное назначение – подключение к файлу с основной программой файлов с подпрограммами и настройка связей, изменение формата ОМ и преобразование его в загрузочный файл (ЗМ) с расширением.EXE.

Формат:

<LINK> {ОМ} [,{загр.}[,{карта}[,{библ.} ]]] [/{опции}]

<TLINK>

где {ОМ} – имя файла или их последовательность, разделенная знаком «плюс» или пробелами;

{загр.} – имя загрузочного файла;

{карта} – имя файла, содержащего карту сборки, описывающую все общие символы, расширение.MAP;

{библ.} - имя файла библиотеки или их последовательность, разделенная знаком «плюс» или пробелами.

Имена файлов можно указывать без расширения.

ПРИМЕЧАНИЕ: Опции в LINK и TLINK не совпадают!

Примеры:

TLINKP1; формируются файлы P1.exe, P1.map

LINKP1; формируется файл P1.exe

 

Если указать опцию

LINK/MAPP1; формируются файлы P1.exe, P1.map

Если написать:

LINK/C0 P1+P2,P3,P3,LIB1+LIB2   

-компоновка двух файлов и подключение двух библиотек.

В TASMможно подключить библиотеки в самой программе и не нужно указывать опции (смотри директиву INCLUDE).

После компоновки полученный файл с расширением.EXE можно запускать.

 

4. Отладчики – это специальные программы, облегчающие отладку программ на ЯА.

Перечислим основные:

Debug – отладчик, входящий в MSDOS,

CV (Code Views) – для MASM,

TD (Turbo Debugger) –для TASM.

Вызов в общем виде:

<Debug>

<CV>P[.exe]

<TD>

Общее требование – наличие загрузочного файла с расширением.exeили.com.

Рассмотрим подробнее использование отладчиков.

а) Debug позволяет записать программу на ЯА или в машинных кодах, запускать ее с точками останова, в пошаговом режиме, вносить изменения;

б) CV – интерактивный отладчик, вся работа с ним осуществляется в непрерывном диалоге с пользователем;

в) TD – также интерактивный отладчик.

CV и TD имеют общие свойства:

- имеют систему многократного изображения на экране, позволяющего при выполнении программы видеть изменение содержимого регистров, флагов, ячеек памяти;

- позволяют запускать программу в пошаговом режиме, по участкам или по циклам;

- позволяют в ходе пошагового выполнения вносить изменения в содержимое регистров и областей памяти.

Основное неудобство: вносить изменение в текст программы приходится в редакторах, затем необходима обработка программы (ассемблирование и компоновка) и опять включение отладчика.

Модели памяти

Это понятие, объединяющее особенности автоматического распределения памяти при ассемблировании.

При этом определяются параметры:

- количество сегментов, их расположение, перекрытие и т.п.;

- размерности и свойства переменных и предопределенных значений в программе (например, тип процедурNEARили FAR).

 Обычно модель памяти используется по умолчанию и определяется ассемблером в зависимости от числа сегментов, но можно задать модель памяти с помощью директивы.MODEL, расположенной в начале файла с программой, что позволяет использовать упрощенные формы описания сегментов.

Простейший вид: 

.MODEL {тип}

где {тип} – может принимать следующие значения:

а) tiny– ИМ состоит из одного сегмента, т.е. регистры CS, DSи SS имеют одно и то же значение; наиболее компактная программа, занимающая £64КБ, все переходы – типа NEAR;

б) small – сегмент кода отделен от сегментов данных и стека, последние объединены, т.е.DSи SS имеют одно и то же значение; наиболее распространенная модель памяти, все переходы – типа NEAR;

в) compact – используется один сегмент кодов и несколько сегментов данных, все переходы – типа NEAR, а обращение к данным – с указанием сегментного регистра, но сегменты данных и стека объединены в одну группу;

г) medium – несколько сегментов кодов и общий сегмент данных и стека; доступ к процедурам – типа FAR, а при обращении к данным указывается только смещение;

д) large– наиболее общий тип; допускается несколько сегментов кодов и данных, вся адресация – с помощью сегментных регистров;

е) huge– аналогичен large, но предназначен для совместимости с языками высокого уровня; разрешается работа с данными, занимающими >64КБ памяти.

Пример:

. MODELsmall


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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



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

0.023 с.