目录
一 存储指令概述
存储指令 存储指令在地址形成方面类似于加载指令。存储内存错误不是同步异常;预计内存系统将使用中断来指示存储错误。
只有S32I和S32I.N可以访问InstRAM。
表1 显示了核心架构中的加载指令。
指令 | 格式 | 定义 |
---|---|---|
S8I | RR8 | 8位存储(8位偏移) |
S16I | RR8 | 16位存储(8位移位偏移) |
S32I | RR8 | 32位存储(8位移位偏移) |
二 存储指令详述
存储指令与加载指令类似,在地址生成方面。存储内存错误不是同步异常;预期内存系统将使用中断来指示存储错误。只有S32I和S32I.N可以访问InstRAM。
以下是每种存储指令的格式、使用示例和注意事项:
-
S8I (RR8): 8位存储(8位偏移)
- 格式: S8I Rd, Rs, [Rt]
- 示例:
assembly
这条指令将寄存器a1的低8位存储到地址a2+4处。1S8I a0, a1, [a2 + 4]
- 注意事项: 偏移量必须是8位的倍数。
-
S16I (RR8): 16位存储(8位移位偏移)
- 格式: S16I Rd, Rs, [Rt]
- 示例:
assembly
这条指令将寄存器a1的低16位存储到地址a2+8处。1S16I a0, a1, [a2 + 8]
- 注意事项: 偏移量必须是8位的倍数。
-
S32I (RR8): 32位存储(8位移位偏移)
- 格式: S32I Rd, Rs, [Rt]
- 示例:
assembly
这条指令将寄存器a1存储到地址a2+12处。1S32I a0, a1, [a2 + 12]
- 注意事项: 偏移量必须是8位的倍数。
这些指令用于将数据从寄存器存储到内存中。偏移量是一个8位的移位,这意味着它可以是0到255之间的任意值。在使用这些指令时,确保偏移量满足要求。