Микропроцессорная техника: практический курс : учебное пособие для студентов Физико-технологического института, обучающихся по направлениям подготовки "Ядерная физика и технологии", "Биомедицинская инженерия"


AT – абсолютный сегмент. Вспомогательной директивой AT задается абсолютный адрес начала сегмента; BITADDRESSABLE


Download 0.63 Mb.
Pdf ko'rish
bet9/74
Sana29.03.2023
Hajmi0.63 Mb.
#1306393
1   ...   5   6   7   8   9   10   11   12   ...   74
Bog'liq
978-5-321-02171-21 2012 (1)

AT – абсолютный сегмент. Вспомогательной директивой AT задается
абсолютный адрес начала сегмента;
BITADDRESSABLE – сегмент, размещаемый в области памяти пря-
моадресуемых битов. Эта область расположена в РПД от 20H до
2FH. Длина сегмента не может превышать 16 байтов. Такой тип
сегмента может быть задан лишь для класса памяти DATA;
INBLOCK – сегмент, размещаемый в 2048-байтовом блоке. Может
быть специфицирован только для класса памяти CODE;
INPAGE – сегмент, размещаемый на странице памяти в 256 битов;
OVERLAYABLE – оверлейный сегмент. Занимаемая область памяти
может быть общей для нескольких оверлейных сегментов. Есть
ряд ограничений на выбор имен для оверлейных сегментов.
Ассемблер ASM-51 поддерживает только один тип выделяемых
(alloctype) ресурсов: PAGE предписывает редактору связей разместить
стартовый адрес сегмента точно на границе 256-байтовой страницы
памяти.
Для выбора одного из ранее созданных общих сегментов исполь-
зуется директива RSEG, которая делает указанный общий сегмент
активным.
Пример назначения сегмента стека:
STACK
SEGMENT IDATA
; óÏÚÄÁÔØ ÓÅÇÍÅÎÔ
RSEG
STACK
; áËÔÉ×ÉÒÏ×ÁÔØ ÓÅÇÍÅÎÔ
DS
10H
; ðÏÄ ÓÅÇÍÅÎÔ 16 ÂÁÊÔÏ×
В ассемблере ASM-51 предопределены пять общих сегментов, со-
ответствующих пяти областям адресного пространства в архитектуре
MCS51: сегмент программ (CSEG), сегмент данных в резидентной па-
15


1. Программирование на языке ассемблера
мяти данных (РПД), доступных по прямому адресу (DSEG), сегмент
данных в РПД, доступных по косвенному адресу (ISEG), сегмент внеш-
них данных (XSEG) и сегмент битов (BSEG). Для каждого сегмента
поддерживается свой собственный счетчик адреса. Счетчик становит-
ся активным, когда соответствующий сегмент активизируется. Когда
сегмент активизируется в первый раз, его счетчик адреса равен нулю.
Вспомогательная директива AT позволяет задать требуемое началь-
ное значение счетчика сегмента. В начале работы компилятора актив-
ным считается по умолчанию сегмент программных адресов (CSEG).
Это позволяет при необходимости работать с ассемблером без явного
декларирования общего сегмента и его активизации.
Счетчиком адреса текущего сегмента можно управлять при помо-
щи директив ORG, DS, DBIT. Если после переключения сегмента мы
возвратимся к ранее используемому сегменту, то значение его счет-
чика адреса будет восстановлено таким, каким оно было, когда про-
изошел переход к другому сегменту. Переменная $ содержит текущее
значение счетчика адреса активного сегмента.
1.1.3. Описание директив ассемблера
Ассемблер ASM-51 имеет набор директив, которые позволяют уста-
новить значение меток, зарезервировать и инициализировать память,
управлять размещением программы.

Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling