Under construction!

URL данного справочника
emc.orgfree.com/RISC-V/hb


Навигатор

Инструкции базового набора RV32I:

handbook

арифметические

логические

сдвиги

сравнения

безусловные
переходы

системные

  • FENCE
  • ECALL
  • EBREAK

условные
переходы

загрузки

сохранения


Evgeny Eremin

См. также

  • набор RV64I
  • набор RV128I

Инструкция SLL (32 бита)

SLL rd, rs1, rs2

Набор команд: базовый RV32I

Формат: R

Операнды: все три операнда – содержимое регистров

Действие: логический сдвиг влево значения rs1 на число разрядов из rs2; результат помещается в rd

Примечания

  1. Выходящие за 32 разряда влево старшие биты теряются, а в младшие справа заносится 0.
  2. Т.к. для 32-разрядного операнда число сдвигов не должно превышать 25, все биты в rs2 кроме младших 5 игнорируются. Для 64-разрядной инструкции SLL используется 6 битов, для 128-разрядной – 7.
  3. Имеется разновидность операции - SLLI, у которой вместо rs2 используется константа.
  4. Операцией SLL можно заменить умножение на 2N.

Пример

Инструкция SLL x31, x7, x6 сдвигает содержимое регистра x7 влево на число разрядов из x6, а результат помещает в x31.
Код инструкции содержит следующие поля:

полеразрядностьсодержимоепримечание
func77 битов0000000 всегда
rs25 битов00110x6
rs15 битов00111x7
func33 бита001 всегда
rd5 битов11111x31
opcode7 битов0110011 всегда

Итоговый код

0000000 00110 00111 001 11111 01100112 = 00 63 9F B316


Автор справочника - Евгений Александрович Еремин (Пермский государственный гуманитарно-педагогический университет). e_eremin@yahoo.com


Free Web Hosting