Как вы сказали, RISC-V имеет младший порядок, поэтому слово с адресом от 1000 до 1003 имеет значение 0x419c0bb3, в двоичном виде:
01000001100111000000101110110011
Первое, на что нужно обратить внимание, инструкция заканчивается на 0110011
,Это соответствует нескольким инструкциям, см. Стр. 104 и 105 в riscv-spec-v2.2.pdf .Для дальнейшего декодирования инструкции я проверяю поле FUNC3 в битах 14-12, это 000
.У меня есть несколько возможных инструкций, ADD
, SUB
или MUL
.Теперь я рассмотрю наиболее значимые 7 битов инструкции 0100000
.Инструкция SUB
.Полная расшифровка инструкции:
FUNC7 rs2 rs1 FUNC3 rd OPCODE
0100000 11001 11000 000 10111 0110011
В ассемблере это должно быть sub x23,x24,x25
.Для проверки ответа лучше всего использовать ассемблер / эмулятор.