MIPS addi подписанный интергер

#mips #cpu-architecture

Вопрос:

Я пытаюсь решить следующую проблему:

Регистр $4 содержит 32-разрядное представление IEEE 754 -31,5, каков конечный результат, помещенный в $5 с помощью следующих инструкций:

 sll     $5,$4,1
srl     $5,$5,24
addi    $5,$5,-127
 
 $4 = 11000001 11111100 00000000 00000000
after performing sll $5,$4,1
$5 = 10000011 11111000 00000000 00000000
after performing srl $5,$5,24
$5   = 00000000 00000000 00000000 10000011
-127 = 11111111 11111111 11111111 10000001
 

Насколько я понимаю, addi возьмет 16 бит немедленного в данном случае 11111111 10000001 и добавит его к значению регистра 5 долларов. Будет ли конечное значение 11111111 00000100 или 00000000 00000100 после добавления обоих значений?

Комментарии:

1. Выполните арифметические действия в десятичной системе счисления и преобразуйте этот результат в двоичный. (В этом случае получится то же самое, так как переполнения нет.)

2. Я пробовал что-то в этом роде. Я знаю, что значение регистра $5 до того, как addi будет равно 131, конечный результат в десятичной системе счисления должен быть 4.

3. Если вы хотите понять двоичную операцию, посмотрите, как выполнение с 1 1 верхнего нижнего байта распространяется на / через все единицы в битах над ним (где $5 были нули).