Студопедия
Главная страница | Контакты | Случайная страница

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

TABLE DB 11, 23, 49

Читайте также:
  1. Educarnos para una vida sustentable
  2. Fill in the table.
  3. Match the verb on the left with a suitable item on the right. Use each item once only.
  4. n Сообщение об ошибках собираются в таблице ERROR_TABLE и передаются в функциональный модуль.
  5. Table 1. Indexing of the countries depending on cultural values.
  6. Table 1. Some Common Acid-Base Indicators
  7. Table of Contents
  8. Tablets and convertibles

Эта директива выделяет место для 3 байт и присваивает им начальные значения 11, 23 и 49 соответственно, кроме того, она определяет символ TABLE, равный тому адресу, по которому хранится значение 11.

Директивы PR0C и ENDP определяют начало и конец ассемблерных процедур. Процедуры в ассемблере выполняют ту же роль, что и в языках программирования высокого уровня. Директивы MACRO и ENDM определяют начало и конец макроса. О макросах мы поговорим в следующем разделе.

Директивы PUBLIC и EXTERN определяют видимость (доступность) символов. Программы часто пишут в виде совокупности файлов. Иногда процедуре, находящейся в одном файле, нужно вызвать процедуру или получить доступ к данным, определенным в другом файле. Чтобы такие перекрестные ссылки между файлами стали возможными, символ (имя), который нужно сделать доступным для других файлов, экспортируется с помощью директивы PUBLIC. Чтобы ассемблер не выдавал предупреждений по поводу использования символа, который не определен в данном файле, этот символ может быть объявлен внешним (EXTERN), то есть определенным в другом файле. Символы, которые не определены ни в одной из этих директив, могут использоваться только в пределах одного файла. Поэтому даже если, например, символ F00 встречается в нескольких файлах, это не вызовет никакого конфликта, поскольку указанный символ локален по отношению к каждому файлу.

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

Многие языки ассемблера, в том числе MASM, поддерживают условное ассемблирование программы. Например:

WORDSIZE EQU 32

IF WORDSIZE GT 32

WSIZE: DD64

ELSE

WSIZE: D32

ENDIF

Эта программа выделяет в памяти одно 32-разрядное слово и вызывает его адрес WSIZE. Этому слову придается одно из значений: либо 32, либо 16 в зависимости от значения WORDSIZE (в данном случае - 16). Такая конструкция может использоваться в программах для 16-разрядных (как 8088) или 32-разрядных машин (как Pentium 4). Если в начале и в конце машинно-зависимого кода вставить директивы IF и ENDIF, а затем изменить единственное определение, WORDSIZE, программу можно автоматически настроить на один из двух размеров. Применяя такой подход, можно задействовать одну такую исходную программу для нескольких разных машин. В большинстве случаев все машинно-зависимые определения, такие как WORDSIZE, сохраняются в одном файле, причем для разных машин должны быть разные файлы. Путем включения файла с нужными определениями программу можно легко перекомпилировать для разных машин.

Директива COMMENT позволяет пользователю заменить символ начала комментария (точку с запятой) чем-либо другим. Директива PAGE используется для управления листингом программы. Наконец, директивой END помечается конец программы.

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




Дата добавления: 2014-12-19; просмотров: 107 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав