Студопедия

Главная страница Случайная страница

Разделы сайта

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






Директивы ассемблера






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

С помощью директив одного типа определяются слова данных. Они позволяют ассемблеру сформировать константу и поместить ее в ячейку памяти. Значение константы задается в поле операндов, а ее символический адрес — в поле метки. Аналогичным образом можно задать символ в коде ASCII. Предположим, например, что мнемони­ческий код операции DB (Define a Byte — определить байт) соответ­ствует директиве определения байта. Тогда при трансляции предло­жения

CONST: DB 53H

ассемблер поместит шестнадцатеричное число 53 в ячейку с символи­ческим адресом CONST.

С помощью директив другого типа можно зарезервировать группу ячеек памяти и дать этой группе символическое имя. Это оказывается полезным, когда нужно отвести место для входных, выходных или промежуточных данных. Число резервируемых ячеек указывается в поле операндов, а символический адрес первой ячейки группы - в поле метки. Директива такого типа встречается в программе в табл.5.9 и имеет мнемонический код операции RES (от REServe - резервировать). Встретив предложение

NUM: RES 10D

ассемблер зарезервирует десять ячеек памяти (поскольку D - это код десятичной системы), причем первой из них будет присвоен сим­волический адрес NUM.

Помимо уже упомянутых директив, существуют директива для задания абсолютного адреса в объектной программе и директива для указания конца программы. Вторая из них присутствует в программе в табл. 5.9 и имеет обозначение END (конец). Она просто указывает ассемблеру, где заканчивается исходная программа. Чтобы пояснить директиву, задающую абсолютный адрес, предположим, что ее мне­моническое обозначение ORG (от ORiGin — начало). Тогда предло­жение

ORG 1000H

информирует ассемблер о том, что следующая команда должна иметь шестнадцатеричный адрес 1000. Поэтому, если бы такое предложение предшествовало программе в табл. 5.9, адрес команды LRI 1, Н (NUM) оказался бы равным 1000; в то же время, если бы это предло­жение оказалось между предложениями HLT и RES, группа ячеек NUM расположилась бы в памяти, начиная с адреса 1000.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.