Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Стандартные и упрощенные директивы

Читайте также:
  1. Влияние стадии рынка на стандартные экономические показатели, например
  2. Выбор семейств шрифтов. Стандартные шрифты. Принтерные шрифты.
  3. Г. Упрощенные функции затрат и точка безубыточности
  4. Директивы определения данных
  5. И «методологические директивы» Т. Куна
  6. Интерфейсы МПС: понятие и характеристики. Стандартные интерфейсы МПС.
  7. Невозможное возможно, или нестандартные методы.

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

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

Стандартные директивы сегментации.

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

с одним сегментом кода;

с одним сегментом стека;

с одним сегментом данных;

с тремя дополнительными сегментами данных.

 

 

Модель памяти определяет следующие параметры:

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

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

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

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

Идентификаторы упрощенных директив сегментации

Идентификатор ¦ Значение ¦

+---------------------------+-----------------------------------+

¦ @code ¦ Сегмент или группа, которые подра-¦

¦ ¦ зумеваются для сегмента CS. ¦

¦ ¦ ¦

¦ @data ¦ Сегмент или группа, которые подра-¦

¦ ¦ зумеваются для сегмента DS. ¦

¦ ¦ ¦

¦ @fardata ¦ Имя текущего сегмента FARDATA. ¦

¦ ¦ ¦

¦ @fardata? ¦ Имя текущего сегмента UFARDATA. ¦

¦ ¦ ¦

¦ @curseg ¦ Имя текущего сегмента. ¦

¦ ¦ ¦

¦ @stack ¦ Сегмент или группа, которые подра-¦

¦ ¦ зумеваются для сегмента SS.

 

 

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

байт — восемь последовательно расположенных битов, пронумерованных от 0 до 7

слово — последовательность из двух байт, имеющих последовательные адреса. Размер слова — 16 бит; биты в слове нумеруются от 0 до 15

двойное слово — последовательность из четырех байт (32 бита от 0 до 31).

Ассемблер обеспечивает два способа определения данных: во-первых,

через указание длины данных и, во-вторых, по их cодержимому. Рассмотрим

основной формат определения данных:

Для определения элементов данных имеются следующие директивы: DB

(байт), DW (слово), DD (двойное слово), DQ (учетверенное слово) и DT

(десять байт).

Ассемблер определяет эти константы в виде последовательности cмежных байт.

Ссылка по имени FLD3 указывает на первую константу, 11, по FLD3+1 - на

вторую, 12. (FLD3 можно представить как FLD3+0). Например команда

MOV AL,FLD3+3

загружает в регистр AL значение 14. Выражение допускает также повторение константы в следующем формате:

[имя] Dn число-повторений DUP (выражение)...

 


Дата добавления: 2015-11-26; просмотров: 84 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.006 сек.)