Инструкция по сборке MIPS
У меня проблема с инструкцией sll. sll $t1,$a0,1
с $a0 содержит значение 11 даст $t1 значение 16 (я проверял это в MARS).
Мое предложение для $t1 было 22, потому что сдвиг влево 11 или 01011 дал бы мне 10110, что составляет 22 в десятичной дроби. Где я ошибся?
Спасибо!
1 ответ
Решение
sll $t1,$a0,1
с$a0
имеет значение 11 даст$t1
значение 16 (я проверял это в MARS).
Вы, вероятно, просто смешиваете десятичное и шестнадцатеричное. Если вы загрузили $a0
со значением 11, как это li $a0,11
и сдвинув его на один бит влево, вы получите 22 результата. Средство просмотра регистра на Марсе показывает значения в шестнадцатеричном формате, а 0x16 равно 22.