Арифметические команды


ABS R1,Rres Абсолютная величина целого

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2 xsint нет нет sint 1-тактная

Описание: абсолютная величина R1 устанавливается в Rres.

 

ADD2 R1,R2,Rres Два 16-разрядных целых добавляются к старшей и младшей половинам регистра

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 sint xsint нет sint 1-тактная

Описание: старшая и младшая половины R1 добавляются, соответственно, к старшей и младшей половинам R2. Перенос из младшей половины результата в старшую не производится. Результат устанавливается в Rres.

ADDR1,R2,Rres Сложение знаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
    .L1 или .L2     sint sint xsint scst5 scst5 xsint xsint slong xsint slong нет sint slong slong sint slong 1-тактная
.S1 или .S2 sint scst5 xsint xsint sint sint
.D1 или .D2 sint ucst5 sint sint sint sint

Описание: R2 добавляется к R1 (для устройств .L и .S) или R1 добавляется к R2 (для устройств .D) и результат устанавливается в Rres.

 

ADDK cst,Rres Сложение целых с использованием знаковой 16-разрядной константы

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 scst16 Rres нет uint 1-тактная

Описание: 16-разрядная знаковая константа добавляется к регистру Rres и результат устанавливается в Rres.

 

ADDUR1,R2,Rres Сложение беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2 uint xuint xuint ulong нет ulong ulong 1-тактная

Описание: R2 добавляется к R1 и результат устанавливается в Rres.

 

MPY, MPYU, MPYUS, MPYSU R1,R2,Rres Умножение 16 ´ 16 младших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sмл.16бит uмл.16бит uмл.16бит sмл.16бит scst5 scst5 хsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит sint uint sint sint sint sint Умножение 16 на 16

Описание: 16 младших бит R1 умножаются на 16 младших бит R2 и результат размещается в Rres. В команде MPY оба операнда знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

 

MPYН, MPYНU, MPYНUS, MPYНSU R1,R2,Rres Умножение 16 ´ 16 старших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sст.16бит uст.16бит uст.16бит sст.16бит хsст.16бит xuст.16бит xsст.16бит xuст.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 старших бит R1 умножаются на 16 старших бит R2 и результат размещается в Rres. В команде MPY оба операнда знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

 

MPYНL, MPYНLU, MPYНULS, MPYНSLU R1,R2,Rres Умножение 16 старших бит на 16 младших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sст.16бит uст.16бит uст.16бит sст.16бит хsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 старших бит R1 умножаются на 16 младших бит R2 и результат размещается в Rres. В команде MPYHL оба операнда знаковые, а в команде MPYHLU – оба беззнаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

 

MPYLН, MPYLНU, MPYLUНS, MPYLSНU R1,R2,Rres Умножение 16 младших бит на 16 старших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sмл.16бит uмл.16бит uмл.16бит sмл.16бит хsст.16бит xuст.16бит xsст.16бит xuст.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 младших бит R1 умножаются на 16 старших бит R2 и результат размещается в Rres. В команде MPYHL оба операнда знаковые, а в команде MPYHLU – оба без знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

 

SUB, SUBU R1,R2,Rres Вычитание знакового или беззнакового целого без насыщения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2     sint xsint sint xsint uint xuint scst5 xsint sint xsint sint xuint uint slong sint sint slong slong ulong ulong slong 1-тактная
.S1 или .S2 sint scst5 xsint xsint sint sint
.D1 или .D2 sint sint sint ucst5 sint sint

Описание: R2 вычитается из R1 и результат размещается в Rres.

 

Логические команды

ANDR1,R2,Rres Поразрядное И

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2, .L1 или .L2 uint scst5 xuint xuint нет uint uint 1-тактная

Описание: над R1 и R2 выполняется поразрядное И. Результат устанавливается в Rres. Константа распределяется на 32 разрядах.

 

CMPEQR1,R2,RresСравнение знаковых целых на равенство

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 = R2, то в Rres записывается 1. В противном случаев Rres записывается 0.

 

CMPGT R1,R2,RresСравнение знаковых целых в отношении «больше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

 

CMPGTU R1,R2,RresСравнение беззнаковых целых в отношении

«больше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   uint ucst4 xuint ucst4 xuint xuint ulong ulong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

 

CMPLT R1,R2,Rres Сравнение знаковых целых в отношении «меньше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

 

CMPLTU R1,R2,Rres Сравнение беззнаковых целых в отношении

«меньше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   uint ucst4 xuint ucst4 xuint xuint ulong ulong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

 

NOP R1Нет операции

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

Описание: R1 задаёт число тактов, в течение которых никакие операции (за исключением перехода) не производятся. NOP без операнда рассматривается как NOP 1.

 

NOT R1,Rres Поразрядное НЕ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 xuint нет uint 1-тактная

 

OR R1,R2,Rres Поразрядное ИЛИ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 uint scst5 xuint xuint uint uint 1-тактная

Примечание: константа представляется в дополнительном коде и расширяется знаком вплоть до 32 бит.

 

SHL R1,R2,Rrest Арифметический сдвиг влево

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xsint slong xuint xsint xuint slong uint uint uint ucst5 ucst5 ucst5 sint slong ulong sint ulong slong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается влево на число разрядов, определённых константой R2. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается влево на 40 разрядов. Освобождающиеся при сдвиге разряды заполняются нулями.

 

SHR R1,R2,Rrest Арифметический сдвиг вправо

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xsint slong xsint slong uint uint ucst5 ucst5 sint slong sint slong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается вправо на число разрядов, определённых константой R2. Результат расширяется знаком. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается вправо на 40 разрядов.

 

SHRU R1,R2,Rrest Логический сдвиг вправо

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xuint ulong xuint ulong uint uint ucst5 ucst5 uint ulong uint ulong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается вправо на число разрядов, определённых константой R2. Результат расширяется нулями. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается вправо на 40 разрядов.

 

XOR R1,R2,RresИсключающее ИЛИ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 uint scst5 xuint xuint uint uint 1-тактная

Описание: поразрядное исключающее ИЛИ выполняется между R1 и R2. Результат устанавливается в Rres. Константа расширена знаком до 32 бит.

 

Команды перехода

В R1 Переход

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 метка нет нет переход Ветвление
.S2 xuint

Сервисные команды

CLR R1, R2, R3, RresОчистить область бит беззнакового целого

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst15 uint ucst15 нет uint uint 1-тактная

Описание: область в R1, заданная константами R2 и R3, сбрасывается в ноль, и результат устанавливается в Rres. Константа R2 определяет номер младшего бита (относительно нулевого разряда R1), а константа R3 – номер старшего бита (относительно нулевого разряда R1) области, которая должна очищаться. Константы могут быть определены десятью младшими битами регистра R2, где первая константа является битами с 0 по 4, а вторая – битами с 5 по 9.

 

ЕХТ R1,R2,R3,Rres Выделение и расширение знаком области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 sint xsint ucst5 uint ucst5 нет sint sint 1-тактная

Описание: константами R2 и R3 определяется область в R1. Номер старшего бита области равен разности 31–R2 (первая константа), а номер младшего бита области – разности R3 (вторая константа)–R2 (первая константа). Константы могут быть определены как 10 младших бит регистра R2, где первая константа является битами с 5 по 9, а вторая – битами с 0 по 4. Выделенная область переносится в Rres на то же место, которое она занимает в R1, сдвигается влево на число разрядов, равное первой константе, а затем – вправо на число разрядов, равное второй константе. При сдвигах вправо освобождавшиеся разряды заполняются знаком (старшим разрядом области).

 

ЕХТU R1,R2,R3,Rres Выделение и расширение нулями области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst5 uint ucst5 нет uint uint 1-тактная

Описание: всё также как и в команде ЕХТ, но при сдвигах вправо освобождавшиеся разряды заполняются нулём.

 

 

SАT R1,Rrest Округление 40-разрядного целого до 32-разрядного

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 slong нет sint 1-тактная

 

SET R1,R2,R3,Rrest Установка области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst5 uint ucst5 нет uint uint 1-тактная

Описание: область в R1, определенная константой R2 и константой R3, размещается в Rrest, после чего устанавливается во все единицы. Первая (R2) и вторая (R3) константы определяют (относительно нулевого разряда) номер, соответственно, младшего и старшего разряда области. Константы могут быть определены как десять младших бит регистра R2, причём биты 0 – 4 соответствуют второй константе, а биты 5 – 9 – первой.

 

ZERO RresОбнуление регистра

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2, .D1 или .D2 нет нет sint 1-тактная
.L1 или .L2 нет нет slong

 

 



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


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

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

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

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