2013-06-08 1 views
4

Существует только инструкция байта магазина, поэтому я не понимаю, почему есть как байты нагрузки, так и байты нагрузки без знака ...Почему в MIPS есть инструкции (load byte unsigned) и (load byte), но только (хранимый байт)?

Я попытался найти его, но ничего не смог найти.

ответ

9

Регистры MIPS имеют ширину 32 бит. Когда вы загружаете один 8-битный байт в один из этих регистров из памяти, вы должны решить, подписывать его или нет. Следовательно, две инструкции нагрузки. При хранении такой двусмысленности нет.

Нагрузочная пример:

.data 

variable: .byte 0x80 

.text 

lb $t0, variable 
lbu $t1, variable 

После выполнения этого кода, t0 будет 0xffffff80 (-128) и t1 будет 0x00000080 (128).

+1

О, теперь я понимаю. Спасибо – user2465695