我是靠谱客的博主 阔达楼房,最近开发中收集的这篇文章主要介绍stm32_汇编(STR和LDR),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

目录

STR -(Store Register)存储指令

LDR -(Load Register)存储指令


ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。

 

STR -(Store Register)存储指令

格式:
str{条件}  源寄存器,<存储器地址>
将源寄存器中数据存到存储器地址中。 

实例1:

str   r1,[r2]        ; 将r1中的值存到r2所指定的地址中

str  r1,[r2,#4]   ;将r1中的值存到r2+4所指定的地址中

str   r1,[r2],#4  ;将r1中的值存到r2所指定的地址中, 同时r2=r2+4

LDR -(Load Register)存储指令

格式:

LDR{条件} 目的寄存器,<存储器地址>

当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。

 实例1:

  LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。

  LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。

  LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0。

  LDR R0,[R1,R2]! ;将存储器地址为R1+R2的字数据读入寄存器R0,并将新地址R1+R2写入R1。

  LDR R0,[R1,#8]! ;将存储器地址为R1+8的字数据读入寄存器R0,并将新地址R1+8写入R1。

  LDR R0,[R1],R2 ;将存储器地址为R1的字数据读入寄存器R0,并将新地址R1+R2写入R1。

  LDR R0,[R1,R2,LSL#2]! ;将存储器地址为R1+R2×4的字数据读入寄存器R0,并将新地址R1+R2×4写入R1。

  LDRR0,[R1],R2,LSL#2 ;将存储器地址为R1的字数据读入寄存器R0,并将新地址R1+R2×4写入R1。”

 

最后

以上就是阔达楼房为你收集整理的stm32_汇编(STR和LDR)的全部内容,希望文章能够帮你解决stm32_汇编(STR和LDR)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部