Under construction!

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


Навигатор

home My RISC-V home

Инструкции
базового набора
RV64I
(дополняет
RV32I):

handbook

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

сдвиги

загрузки

сохранения

См. также

  • набор RV32I
  • набор RV128I

Evgeny Eremin

Инструкция LWU

LWU rd, base, offset

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

Формат: I

Операнды: rd и base – регистры, offset – 12-битная константа (со знаком!)

Действие: прочитать слово (word) из 4 байтов без расширения знака в rd; адрес равен сумме базового регистра (в традиционной для rs1 позиции) и смещения (offset)

Примечание

В RV32I существуют инструкции для считывания байта и полуслова без знака – LBU и LHU. Кроме того, можно читать данные с расширением знака (LB, LH и LW). В RV64I есть дополнительная инструкция чтения двойного 8-байтового слова LD. Конкретный вариант считывания задается в поле funct3.

Пример

Инструкция LWU x31, x3, 8 в ассемблере часто записывается LWU x31, 8(x3), где более наглядно показан адрес ОЗУ – смещение 8 байт относительно значения в x3. Команда считывает в x31 четыре байта из памяти по указанному адресу, не расширяя знак.
Код инструкции содержит следующие поля:

полеразрядностьсодержимоепримечание
offset12 битов000000001000 8
base5 битов00011x3
funct33 бита110 всегда
rd5 битов11111x31
opcode7 битов0000011 всегда

Итоговый код

000000001000 00011 110 11111 00000112 = 00 81 EF 8316

Примечание. Регистр x3 обычно используется системой для хранения начального адреса области глобальных данных.


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


Free Web Hosting