Команды загрузки/хранения


LDB, LDBU, LDH, LDHU, LDW R1,Rres Загрузка из памяти с 5-разрядной беззнаковой константой или с регистром смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.D1 или .D2 См. синтаксис R1 нет нет Содержимое ячейки памяти Загрузка

Описание: каждая из этих команд загружает из внутренней памяти данных в регистр Rres общего назначения. Синтаксис R1, определяющий правило формирования адреса:

*+Rbas[Rsm] или *+Rbas[ucst5] – положительное смещение. К Rbas добавляется Rsm или ucst5, причём Rbas не изменяется. Исполнительным адресом является результат суммирования;

*-Rbas[Rsm] или *-Rbas[ucst5] – отрицательное смещение. Из Rbas вычитается Rsm или ucst5, причём Rbas не изменяется. Исполнительным адресом является результат вычитания;

*++Rbas[Rsm] или *++Rbas[ucst5] – преинкремент. К Rbas добавляется Rsm или ucst5, изменяя Rbas. Исполнительным адресом является изменённое содержимое Rbas;

*- -Rbas[Rsm] или *- -Rbas[ucst5] – предекремент. Из Rbas вычитается Rsm или ucst5, изменяя Rbas. Исполнительным адресом является изменённое содержимое Rbas;

*Rbas++[Rsm] или *Rbas++ [ucst5] – постинкремент. К Rbas добавляется Rsm или ucst5, изменяя Rbas. Исполнительным адресом является содержимое Rbas до его изменения;

*Rbas--[Rsm] или *Rbas--[ucst5] – постдекремент. Из Rbas вычитается Rsm или ucst5, изменяя Rbas. Исполнительным адресом является содержимое Rbas до его изменения.

Если смещение (Rsm или ucst5) не задаётся, ассемблер назначает нулевое смещение, а инкременты и декременты равны 1.

Rbas и Rsm должны быть на той же стороне ЦПУ, что и используемое устройство .D.

Rsm и cst5 до операции по формированию адреса сдвигаются влево на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW) разряда.

Адресная арифметика (сложение или вычитание) по умолчанию выполняется в линейном способе. Однако для А4 – А7 и В4 – В7 способ может быть изменён на циклический путём записи соответствующей величины в регистр AMR.

Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16 бит, соответственно, а остальные разряды Rres заполняются знаком (LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все 32 разряда Rres.

 

LDB, LDBU, LDH, LDHU, LDW R1,Rres Загрузка из памяти с 15-разрядной беззнаковой константой смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.D2 *+B14[ucst15] или *+B15[ucst15] нет нет Содержимое ячейки памяти Загрузка

Описание: каждая из этих команд загружает из внутренней памяти данных в регистр Rres общего назначения. До операции по формированию адреса (вычитание не поддерживается) cst15 сдвигается влево на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW) разряда.

Адресная арифметика всегда выполняется в линейном способе.

Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16 бит, соответственно, а остальные разряды Rres заполняются знаком (LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все 32 разряда Rres.

 

STB, STH, STW R,*R1 Загрузка в память с 5-разрядной беззнаковой константой смещения или с регистром смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.D1 или .D2 См. синтаксис R1 нет нет Хранение

Описание: каждая из этих команд загружает во внутреннюю память данных из регистра R общего назначения. Синтаксис R1 и выполнение Rbas и Rsm такие же, как у команд LD.

 

STB, STH, STWR,*R1 Загрузка в память с 15-разрядной беззнаковой константой смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.D1 или .D2 См. синтаксис R1 нет нет Хранение

Описание: каждая из этих команд загружает во внутреннюю память данных из регистра R общего назначения. Синтаксис R1 и выполнение Rbas и Rsm такие же, как у команд LD.

 



Дата добавления: 2020-10-25; просмотров: 430;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.