指令格式
ST rd, disp(rn)其中:`rd` 是目标寄存器。`disp` 是位移量。`rn` 是基址寄存器。
功能
ST 指令将寄存器 `rd` 中的值存储到内存单元中,该内存单元由基址寄存器 `rn` 和位移量 `disp` 寻址。操作
1. 计算有效地址 `ea`:`ea = rn + disp`。 2. 将寄存器 `rd` 中的值存储到内存单元 `ea` 中。例子
下面的汇编代码将寄存器 `R0` 中的值存储到内存单元 `0x1000` 中: assembly ST R0, 0x1000STS(同步带)
STS 是 ST 指令的同步版本。它等待内存访问完成,然后才继续执行程序。使用注意事项
`disp` 的范围是 -255 到 255。如果 `disp` 超出此范围,将导致异常。`rn` 可以是任何通用寄存器,但通常使用堆栈指针 `SP` 或帧指针 `FP`。ST 指令可以用于存储函数参数、局部变量和数组元素。效能
ST 指令的效能取决于内存访问速度。在现代计算机中,内存访问通常非常快,因此 ST 指令的效能很高。相关指令
LDR:加载寄存器到存储器STR:存储寄存器到寄存器LDM:加载多个寄存器STM:存储多个寄存器总结
ST 指令是一个基本指令,用于将寄存器中的值存储到内存单元中。它在操作数据和实现各种数据结构时非常有用。STS 是 ST 指令的同步版本,等待内存访问完成再继续执行程序。字数据传送指令(LD, ST)这是最简单的数据传送指令,不用考虑符号位的问题,直接以机器的位长存取数据。 LD 从内存中取32位字数据放人寄存器,ST将寄存器中的32位字数据保存到内存中。 ld some_addr, %r10st %r10, some_addr双字数据传送指令(LDD、STD)这条指令需要用到一对寄存器存放双字,并且必须是偶数寄存器。 LD 从内存中取64位双字数据放人一对寄存器中,注意,高字(bits 63 ~ 32)移入到偶寄存器中,低字(位于有效内存address+4)移入到紧跟着的奇寄存器中。 ST将一对寄存器中的64位双字数据保存到内存中。 lddd some_addr, %r10 ! some_addr[0] ->%r10, some_addr[0+4] ->%r11std %r10, some_addr
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论