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

Косвенные адреса



В КС с РОН удобно в организации циклов использовать команды с косвенной регистровой адресацией.

1. D(CN) → H – установка указателя на первый элемент массива аргументов

2. D+1 A+1 → R1 – начальное значение счетчика

3. D+2 B+1 → R2 – установка указателя на первый элемент массива результатов

4. D+3 ((R1))x(Cx) → R1 – основные вычисления

5. D+4 ((R1))x(Cz) → R2 – продвижение указателя элемента

6. D+5 (R2)+(C1) → R2

7. D+6 (H1) – (C1) → H – продвижение счетчика, выработка признака результата

8. D+7 zF =0? Да → 0+8, нет → нет 0+3 – условие перехода

Автоинкремент/декремент

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

Команда: ((R1)+)≠((R2)) → R0

Алгоритм:

1. ((УК)) → РК

2. (УК) + 1 → УК

3. Дешифрация р

4. ((R1)) →r1

5. (R1) + 1 → R1 – инкремент

6. (R2) – 1 → R2 – декремент

7. ((R2)) → r2

8. (r1)p(r2) → r3

9. (r3) → R0

10. Переход к пункту 1

Стек

Разновидность косвенной адресации автокрементом/декрементом. Физически это часть ОП, доступ к которой организован спец. Образом (LIFO). Для стека выделяется участок памяти от ячейки А до В. Ячейка В имеет наибольший адрес - это дно стека. Ячейка А с наименьшим номером - вершина стека. За ней следует специальный стековый регистр (Rsp). Если (Rsp)=А, то А вершина стека. Если ячейки стека заполнены и нужно извлечь данные, то можно сделать это по указанию стекового регистра. После извлечения содержимое регистра увеличивается на единицу, т.к переместится вниз. Помещая новые данные в стек, указатель переместится вверх(-1).

В системе команд процессора есть группа специальных стековых команд. Это команды записи из СП или регистров в стек и команды чтения. Одним из операндов в них служит стековый регистр, другим - регистр или ячейка памяти.

Стековая команда имеет вид:

Р Rsp R(c)

Запись в стек из регистра:

1. ((УК)) → РК

2. (УК)+1 → УК

3. Дешифрация р.

4. (Rsp) – 1 → Rsp

5. (R1) → (Rsp)

6. Переход к пункту 1

Пространство стека – обычные ячейки памяти и их можно использовать все стековых команд. Можно изменить содержание ячейки А, а для стека она все равно будет вершиной пока не занесли в стековый регистр новое значение





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



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