Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursach_ot.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
616 Кб
Скачать
☆

1.2.1 Файл регістрів загального призначення

Всі команди, оперуючі регістрами, прямо адресуються до будь-якого з регістрів за один машинний цикл. Єдине виключення - п'ять команд оперують з константами SBCI, SUBI, CPI, ANDI, ORI та команда LDI, завантажує регістр константою. Ці команди працюють лише з другою половиною реєстрового файлу - R16 .. R31. Команди SBC, SUB, CP, AND і OR, також як і всі інші, застосовані до всього регістрового файлу.

Кожному регістру присвоєно адресу в просторі даних, вони відображаються на перші 32 комірки ОЗУ. Хоча регістровий файл фізично розміщений поза ОЗУ, подібна організація пам'яті дає гнучкий доступ до регістрів. Регістри X, Y і Z можуть використовуватися для індексації будь-якого регістра.

Крім звичайних функцій, регістри R26 .. R31 мають додаткові функції, ці регістри можна використовувати як адресні покажчики в області пам'яті даних. Ці регістри позначаються як X, Y, Z і визначені наступним чином:

Рисунок 1.3 - Додаткові регістри

При різних режимах адресації ці регістри можуть використовуватися як фіксований адрес, для адресації з автоінкрементом або з автодекрементом.

1.2.2 Арифметико-логічний пристрій – алп

АЛП процесора безпосередньо підключено до 32 регістрів загального призначення. За один машинний цикл АЛП виробляє операції між регістрами реєстрового файлу. Команди АЛП розділені на три основні категорії - арифметичні, логічні і бітові.

1.2.3 Статичне озу даних

На рисунку 1.4 показана організація пам'яті даних в AT90S2313:

Рисунок 1.4 - Організація пам'яті даних в AT90S2313

224 комірки пам'яті включають в себе регістровий файл, пам'ять вводу / виводу і статичне ОЗУ даних.

Перші 96 адрес використовуються для реєстрового файлу і пам'яті вводу / виводу, наступні 128 - для ОЗУ даних.

При зверненні до пам'яті використовуються п'ять різних режимів адресації: прямий, безпосередній зі зміщенням, безпосередній, безпосередній з попередніми декрементом і безпосередній з постінкрементом. Регістри R26 .. R31 реєстрового файлу використовуються як покажчики для безпосередньої адресації.

Пряма адресація має доступ до всієї пам'яті даних.

Безпосередня адресація зі зміщенням використовується для доступудо 63 комірок, базовий адрес яких задається вмістом регістрів Y або Z.

Для безпосередньої адресації з інкрементом або декрементом адреси використовуються адресні регістри X, Y і Z.

За допомогою будь-якого з цих режимів виробляється доступ до всіх 32 регістрів загального призначення, 64 регістрів введення / виводу і 128 комірок ОЗУ.

1.2.4 Покажчик стека sp

Цей 8-розрядний регістр з адресою $3D ($5D) зберігає покажчик стека процесора AT90S2313. 8-ми розрядів достатньо, для адресації ОЗУ в межах $60 - $DF.

Таблиця 1.1 - Біти стека

Біт

7

6

5

4

3

2

1

0

$3D($5D)

SP7

SP6

SP5

SP4

SP3

SP2

SP1

SP0

Читання /запис

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Покажчик стека вказує на область пам'яті в якій розташований стік виклику підпрограм і переривань. Область стека в ОЗУ повинна бути задана до того, як відбудеться будь-який виклик підпрограми, чи будуть дозволені переривання. Покажчик стека зменшується на 1 при запису даних у стек командою PUSH і зменшується на 2 при виклику підпрограми командою CALL, чи обробці переривання. Покажчик стека збільшується на 1 при виборі даних з стека командою POP і збільшується на 2 при виконанні команд повернення з підпрограми або обробника переривання (RET або RETI).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]