Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода Лукьянова_Ассемблер.pdf
Скачиваний:
169
Добавлен:
15.09.2014
Размер:
1.07 Mб
Скачать

При обработке директив STRUC и ENDS формируется шаблон структуры, а сами данные создаются при объявлении структуры, которое имеет следующий вид:

[[имя]] имя_структуры <[[значение,...]]>

Значения полей в объявлении структуры аналогично значению полей при объявлении записи.

4.4.4. Директива эквивалентности

Константы в языке Ассемблера описываются с помощью директивы эквивалентности EQU, имеющей следующий синтаксис:

<имя> EQU <операнд>

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

4.5. Простейшие директивы определения сегментов

Простейшими директивами определения сегментов являются

.MODEL, .STACK, .DATA, .CODE, .DATA?, .FARDATA, .FARDATA?,

.CONST, .DOSSEG.

Директива .MODEL позволяет задавать модель памяти для ассемблерной программы. Она должна следовать перед директивами определения сегментов типа .STACK, .DATA, .CODE . Каждая модель фиксирует определенный способ адресации данных и команд программы. Различают ближний (near) и дальний (far) способы адресации. При выборе первого способа значение сегментного адреса данных или кода не изменяется, поэтому изменение адреса сводится только к изменению смещения. Для дальнего способа адресациии изменение адреса сводится к изменению одновременно сегментного адреса и смещения.

Язык ассемблера поддерживает шесть следующих моделей памяти: tiny (минимальная) – код и данные размещаются в одном сегменте

размером до 64 Кбайт. И код и данные имеют тип near;

small (малая) – один сегмент размером до 64 Кбайт выделяется для кода и один сегмент для данных. И код и данные имеют тип near;

medium (средняя) – код программы может иметь размер более 64 Кбайт, а для данных выделяется один сегмент размером до 64 Кбайт. Код имеет тип far, а данные – near;

31

Соседние файлы в предмете Конструирование программ и языки программирования