Инструкция по сборке 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.

Другие вопросы по тегам