Under construction!

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


Навигатор

home My RISC-V home

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

handbook

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

сдвиги

загрузки

сохранения

См. также

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

Evgeny Eremin

Инструкция SD

SD rs2, base, offset

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

Формат: S

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

Действие: сохранить в память значение из 64-битного регистра rs2; адрес равен сумме базового регистра (в традиционной для rs1 позиции) и смещения (offset)

Примечания

  1. Смещение в коде инструкции разбито на две части: старшая лежит в поле, соответствующем funct7, - это offset1, а младшая – вместо rd (offset2).
  2. В RV32I существуют инструкции для записи другого количества байт: SB, SH и SW. Конкретный вариант считывания задается в поле funct3.

Пример

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

полеразрядностьсодержимоепримечание
offset17 битов0000000 0
rs25 битов11111x31
base5 битов00011x3
funct33 бита011 всегда
offset25 битов010008
opcode7 битов0100011 всегда

Итоговый код

0000000 11111 00011 011 01000 01000112 = 01 F1 B4 2316

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


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


Free Web Hosting