mips - 为什么 MIPS 中有(加载字节无符号)和(加载字节)指令,但只有(存储字节)?

标签 mips computer-architecture

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

我试图寻找它,但找不到任何有用的东西。

最佳答案

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

加载示例:

.data

variable: .byte 0x80

.text

lb  $t0, variable
lbu $t1, variable

此代码运行后,t0将是 0xffffff80 (-128) 和 t1将是 0x00000080 (128)。

关于mips - 为什么 MIPS 中有(加载字节无符号)和(加载字节)指令,但只有(存储字节)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16996659/

相关文章:

MIPS 结构性危害

kernel - armv8 - AArch64 与 AArch32 堆栈指针寄存器?

c - 16 位处理器如何拥有 4 字节大小的 long int?

c++ - SSE FP 单元是否检测到 0.0 个操作数?

assembly - MIPS跳转指令编码: why left shifted,为什么保留PC的高4位?

c - 将单个 C 行转换为 MIPS 程序集

memory - 缓存中的命中率和未命中率以及平均时间计算

c++ - 计算机程序运行时会发生什么?

MIPS流水线时序图

numbers - 无符号数的上溢/下溢