Принимайте инструкции по одному.Сначала load-верхний-немедленный , возьмите немедленный (0x1234
) и «загрузите» его в верхнюю половину регистра S0
и обнулите нижнюю половину:
lui S0, 0x1234
S0 = 0x12340000
Далее или немедленное , мы ИЛИ значение в S0
со значением 0x5678
:
ori S1, S0, 0x5678
0x12340000
OR 0x00005678
----------
0x12345678 = S1
Наконец add , мыдобавляем значение в S1 к себе или, эквивалентно, умножаем значение в S1 на 2:
add S2, S1, S1
0x12345678
+ 0x12345678
----------
0x2468ACF0 = S2
Таким образом, значение в регистре S2
равно 0x2468ACF0
.Обратите внимание, я предполагаю 32-битные слова.Немедленное похоже на константу, поэтому lui
- это инструкция, которая помещает константу в верхнюю половину регистра.В сочетании с ori
вы можете загрузить целое слово в регистр.