Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Прямая автоинкрементная адресация (№2)



Правило: содержимое регистра, указанного в команде, используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. После извлечения операнда содержимое регистра увеличивается на 2 для словных команд и на 1 для байтных команд. Но если байтовая команда работает с R6 или с R7, то их содержимое всегда увеличивается на 2.

Автоинкрементный метод адресации используется при автоматическом обращении с заданным шагом к последовательным элементам таблицы операндов. Содержимое выбранного регистра автоматически увеличивается для возможности обращения в дальнейшем к последующей ячейке. При байтовых операциях увеличение происходит на единицу, при операциях с полными словами – на 2, а содержимое R6, R7 всегда увеличивается на 2.

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


 

Примеры автоинкрементной адресации:

Символическое обозначение Восьмеричный код Наименование команды
1. CLR (R5)+ Очистка
Действие: Содержимое ячейки, адрес которой содержится в R5, очищается, после чего адрес (содержимое R5) увеличивается на 2.
До выполнения операции После выполнения операции
20000) 005025 20000) 005025
R5) 030000 R5) 030002
30000) 111116 30000) 000000
       

 

2. CLR B (R5)+ Очистка байта
Действие: Очищается выбранный байт, адрес которого содержится в R5, после чего адрес (содержимое R5) увеличивается на единицу.
До выполнения операции После выполнения операции:
20000) 105025 R5) 030000 20000) 105025 R5) 030001
30000) 111616 30000) 111400
       

 

3. ADD (R2)+,R4 Сложение
Действие: Операнд, адрес которого содержится в R2, складывается с содержимым R4. Результат заносится в R4, а содержимое R2 (адрес операнда источника) увеличивается на 2.
До выполнения операции: После выполнения операции:
100) 062204 R2) 000204 100) 062204 R2) 000206
R4) 001000 R4) 003000
204) 002000 204) 002000
       

Прямая автодекрементная адресация (№4)

Правило: содержимое регистра, указанного в команде, вначале уменьшается на 2 для словных команд и на 1 для байтных команд и затем используется как адрес операнда. Операнд извлекается, обрабатывается и возвращается по старому адресу. Но если байтовая (байтная) команда работает с R6 или с R7, то их содержимое всегда уменьшается на 2.

Автодекрементный метод адресации также используется для обработки табулированных данных. Однако, в отличие от автоинкрементного метода, адресация к ячейкам массива идет в противоположном направлении. При этом методе адресации содержимое выбранного РОН уменьшается (для байтовых команд на единицу, для команд с полными словами на 2), а затем используется как исполнительный адрес.

Сочетание автоинкрементного и автодекрементного методов адресации может быть эффективно использовано для обработки стека.

Примеры автодекрементной адресации:

Символическое обозначение Восьмеричный код Наименование команды
1. INC -(R0) Прибавление единицы
Действие: Содержимое R0 уменьшается на два и используется как исполнительный адрес. К содержимому, выбранному из ячейки по этому адресу, прибавляется единица.
До выполнения операции После выполнения операции:
100) 005240 R0) 017776 100) 005240 R0) 017774
17774) 000000 17774) 000001
       

 

2. INC В -(R0) Прибавление единицы к байту
Действие: Содержимое R0 уменьшается на единицу и используется как адрес операнда. К выбранному байту прибавляется единица.
До выполнения операции После выполнения операции:
100) 105240 R0) 017776 100) 105240 R0) 017775
17774) 000000 17774) 000400
       

 


 

3. ADD -(R3), R0 Сложение
Действие: Содержимое R3 уменьшается на два и используется как адрес операнда источника, который складывается с содержимым R0 (операнд приемника). Результат записывается в R0.
До выполнения операции: После выполнения операции:
120) 064300 R0) 000020 120) 064300 R0) 000070
R3) 001776 R3) 001774
1774) 000050 1774) 000050
       

 

Прямая индексная адресация (№6)

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

Индексный метод адресации, при котором исполнительный адрес определяется как сумма содержимого выбранного РОН с индексным словом, позволяет осуществлять произвольный доступ к элементам структуры данных. При индексном методе адресации содержимое выбранного регистра может быть использовано в качестве базы для вычисления серии адресов.

Примеры индексной адресации:

Символическое обозначение Восьмеричный код Наименование команды
I. CLR 200(R4) Очистка
 
Действие: Адрес операнда определяется прибавлением к содержимому R4 кода 200, после чего ячейка с вычисленным адресом очищается.
До выполнения операции: После выполнения операции:
1020) 005064 R4) 001000 1022) 000200 1200) 177777 1020) 005064 R4) 001000 1022) 000200 1200) 000000
       

 


 

2. COM B 200 (R1) Инвертирование байта
Действие: Адрес операнда определяется прибавлением к содержимому R1 кода 200. После этого содержимое ячейки с вычисленным адресом заменяется его обратным кодом
До выполнения операции: После выполнения операции:
1020) 105161 R1) 017777 1020) 105161 R1) 017777
1022) 000200 1022) 000200
20176) 011000 20176) 166400
       

Адрес операнда был вычислен прибавлением к содержимому R1 кода 200, в результате чего команда COMB произвела свое действие над старшим байтом ячейки с адресом 20176.

 

3. ADD 30(R2), 20(R5) Сложение
   
   
Действие: Содержимое ячейки, адрес которой вычисляется сложением кода 30 с содержимым R2 (операнд источника), складывается с содержимым ячейки, адрес которой вычисляется сложением кода 20 с содержимым R5 (операнд приемника). Результат записывается по адресу операнда приемника.  
До выполнения операции: После выполнения операции:
1020) 066265 1020) 066265
1022) 000030 1022) 000030
1024) 000020 R2) 001100 R5) 002000 1024) 000020 R2) 001100 R5) 002000
1130) 000001 1130) 000001
2020) 000001 2020) 000002
       

Косвенные методы адресации

Четыре основных метода могут быть использованы с косвенной адресацией. Если в регистровом методе операндом является содержимое выбранного регистра, в косвенно-регистровом методе содержимое выбранного регистра является адресом операнда. В трех других косвенных методах содержимое регистра позволяет выбрать адрес операнда, а не сам операнд. Эти методы используются, когда таблица состоит из адресов, а не из операндов. На рис. 7.7 показаны последовательности операции выполнения команды с каждым из четырех методов косвенной адресации.

 

Рис.7.7 Методы косвенной адресации

 

№ метода адресации Метод адресации
Косвенно-регистровый
Косвенно-автоинкрементный
Косвенно-автодекрементный
Косвенно-индексный

 






Читайте также:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 37; Нарушение авторского права страницы


lektsia.com 2007 - 2017 год. Все права принадлежат их авторам! (0.126 с.) Главная | Обратная связь