Главное меню

Команды с обращением по адресу SRAM

По командам с обращением по адресу в адресном пространстве SRAM выполняются операции пересылки (копирования) байта между регистром общего назначения и элементом, которому соответствует адрес в адресном пространстве SRAM. Таким элементом может быть регистр общего назначения (адреса от $00 до $1F), регистр ввода-вывода (адреса от $20 до $5F), ячейка памяти в SRAM (адреса от $60 до максимального адреса в SRAM), ячейка памяти в ERAM(адреса от максимального адреса в SRAM +1 до максимального адреса в ERAM).

Команды с обращением по адресу в адресном пространстве SRAM описаны в табл. 2.4 и 2.5.

Машинные коды команд №№ 34 и 35 имеют формат «2 слова», машинные коды остальных команд – формат «слово». Команды выполняются за 2 такта, а при обращении к ячейкам в ERAM–за 3 такта. В случае необходимости в цикл выполнения команды при обращении к ERAM может быть введён дополнительный такт ожидания.

В табл.2.4 и 2.5 используются следующие новые обозначения:

▪ ЯчА – регистр общего назначения, регистр ввода-вывода, ячейка памяти в SRAM, ячейка памяти в ERAM, к которым производится обращение с использованием адреса А из адресного пространства SRAM;

▪ (ЯчА) – байт в ЯчА;

▪X, Y, Z – пара регистров общего назначения X (R26, R27), Y (R28, R29), Z (R30, R31) соответственно;

▪ (X), (Y), (Z) – слово в паре регистров X, Y, Z соответственно;

▪ СТЕК – ЯчА, к которой производится обращение с использованием адреса, хранящегося в регистре – указателе стека SP;

▪ (СТЕК) – байт в СТЕК, е;

▪ (SP) – код числа в регистре SP.

В командах №№ 34 и 35 реализуется прямая адресация. Адрес байта (A = k) указывается в коде команды.

В командах №№ 36 – 57 реализуется косвенная адресация. Адрес байта находится в паре регистров X, Y или Z. При выполнении команд №№ 48 – 53 до выполнения пересылки адрес в паре регистров аппаратно уменьшается на единицу. При выполнении команд №№ 54 – 57 адрес, по которому производится обращение, равен адресу в паре регистров Y или Z, увеличенному на единицу q, которое указано в коде команды. Адрес в паре регистров остаётся без изменения.

В командах №№ 58 и 59 в качестве кода адреса используется код, находящейся в регистре-указателе стека. При запуске микроконтроллера в регистр-указатель стека заносится код числа 0. Для нормальной работы стека в регистр – указатель стека в начале программы необходимо занести код другого числа. Обычно в качестве такого числа используют старший адрес в SRAM. Например, для микроконтроллера типа 8515 таким адресом является число $025F.

Другое по теме:

Абстрактные цифровые автоматы
Тема контрольной работы по дисциплине "Прикладная теория цифровых автоматов" - "Абстрактные цифровые автоматы". Цель работы - ознакомится с основными понятиями абстрактных цифровых автоматов; типами абстрактных автоматов; с ...

Copyright © www.techproof.ru