2014-06-25 4 views
1

Как обновить конкретное поле бит в регистре с помощью сборки MIPS?Обновление битового поля с использованием сборки MIPS

Например, если мне нужно обновить биты с 10 по 15 в регистре $ t1 с новым значением. Все остальные биты должны оставаться такими, какими они есть.

ответ

3

Предположим, что $t0 содержит 6-битное поле, которое вы хотите переместить в биты 10-15 из $t1.

Вы могли бы рассмотреть этот подход:

li $t2 0x3F  #bits 0-5 on 
sll $t2 $t2 10 #bits 10-15 on 
not $t2 $t2  #bits 10-15 off 

and $t1 $t1 $t2 #turn off bits 10-15 
or $t1 $t1 $t0 #set bits 10-15 
Смежные вопросы