#assembly #riscv
Вопрос:
В RiSC-V, поскольку код операции и функция 3 инструкций jalr
и beq
являются одинаковыми, мне интересно, будет ли машина путать их или нет. Или существуют ли пределы диапазона их RS и непосредственные?
Ответ №1:
Инструкции содержат следующие функции и код операции:
func3# opcode# opcode name opcode#(hex)
000 1100011 BEQ 63
000 1100111 JALR 67
Таким образом, они отличаются значением кода операции#.
В качестве примечания вы можете использовать инструменты, чтобы увидеть различия, например, с помощью RARS, который является простым в использовании симулятором, в котором вы можете ввести следующий код сборки и просмотреть его машинный код:
.text
jalr zero zero 0
label:
beq zero zero label
Комментарии:
1. Спасибо тебе, Эрик! Только что я подтвердил, что это ошибка печати, что код операции из инструкций SB-типа, они печатают 1100011 как 1100111. И теперь я это понимаю. И последнее, спасибо за вашу рекомендацию RARS.