Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Индексный режим с использованием счетчика команд (6)



b+0) MOV Х(R7)+, R1

b+4) Следующая команда.

Здесь команда содержит два слова. В первом слове записана собственно команда, а во втором – значение величины Х.

Компиляция и выполнение этой команды имеет ряд особенностей:

· В процедуре вычисления адреса операнда величина Х складывается с содержимым счетчика команд. Это адресация не относительно фиксированной базы, а относительно счетчика команд. Это очень ценная адресация, которая позволяет проектировать "перемещаемые программы", т.е. не привязанные к конкретным адресам памяти.

· В ассемблере для этой адресации предусмотрена упрощенная запись: MOV Х, R1, где Х относительный адрес.

· Программист не следит за адресами программного кода и в командах всегда указывает абсолютные адреса операндов (согласно их распределения в своей "математической" памяти).

· Номера портов устройств ввода/вывода отображены на пространство адресов памяти, но имеют постоянные адреса в старшей половине памяти и требуют только абсолютную адресацию.

В связи с указанными особенностями, программисты, при написании программы на ассемблере, все адреса пишут в абсолютных значениях. Но, при использовании адресов портов, они заказывают абсолютную адресацию (@# А, режим 3 с R7), а при использовании адресов данных – относительную (А, режим 6 с R7). При этом компилятор оставляет указанный адрес без изменения в первом случае и вычисляет относительный адрес данных, как абсолютный минус продвинутое значение счетчика команд (увеличенного на 4 для первого адреса и на 6 – для второго), во втором случае.





Дата публикования: 2014-11-03; Прочитано: 325 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...