为什么MIPS中存在(加载字节无符号)和(加载字节)指令但仅存储(存储字节)?

use*_*695 5 mips computer-architecture

只有一个存储字节指令,所以我不明白为什么加载字节和加载字节都是无符号的...

我试着寻找它但找不到任何有用的东西.

Car*_*rum 12

MIPS寄存器为32位宽.当您从内存中将一个8位字节加载到其中一个寄存器中时,您必须决定是否对其进行符号扩展.因此两个加载指令.存储时,没有这种模糊性.

加载示例:

.data

variable: .byte 0x80

.text

lb  $t0, variable
lbu $t1, variable
Run Code Online (Sandbox Code Playgroud)

此代码运行后,t0将为0xffffff80(-128),t1并将为0x00000080(128).