arm指令中mov和ldr的区别

发布者:创意探险最新更新时间:2017-09-18 来源: eefocus关键字:arm指令  mov  ldr 手机看文章 扫描二维码
随时随地手机看文章

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。
比如想把数据从内存中某处读取到寄存器中,只能使用ldr
比如:
ldr r0, 0x12345678
就是把0x12345678这个地址中的值存放到r0中。
而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。
x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。

另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如:
ldr r0, =0x12345678
这样,就把0x12345678这个地址写到r0中了。所以,ldr伪指令和mov是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。

ldr伪指令和ldr指令不是一个同东西。

关键字:arm指令  mov  ldr 引用地址:arm指令中mov和ldr的区别

上一篇:STM32 8位IO的操作
下一篇:arm ldm stm指令解析

推荐阅读最新更新时间:2024-03-16 15:37

arm汇编ldr,str,b,bl指令
B或BL指令引起处理器转移到 子程序名 处开始执行。两者的不同之处在于BL指令在转移到子程序执行之前,将其下一条指令的地址拷贝到R14(LR,链 接寄存器)。由于BL指令保存了下条指令的地址,因此使用指令 MOV PC ,LR 即可实现子程序的返回。而B指令则无法实现子程序的返回,只能实现单纯的跳转。用户在编程的时候,可根据具体应用选用合适的子程序调用语句。 AREA Init,CODE,READONLY ;该伪指令定义了一个代码段,段名为Init,属性只读 ENTRY ;程序的入口点标识 . . bl delay ;调用延迟 . . mov pc,lr ;返回
[单片机]
LDR伪指令和LDR指令学习
ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如: ldr r0, 0x12345678 就是把0x12345678这个地址中的值存放到r0中。而mov不能实现这个功能,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。 另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个值(一般是一个地
[单片机]
头文件定义和ARM指令
内存管理:内存的分配和释放等 静态和动态内存:主要是在释放方式上的区别 静态变量:编译时就已经确定,定义在函数外面 自动变量:在程序运行时才能在栈中确定 只读数据节:存放常量的地方,包括字符常量,不修改的数据 查看数据存放在那个节点:(用命令) readelf -S (查看节点号和节点名) readelf -x .data a.out 生命周期:(分成静态,动态) 两个宏的定义和包含: 定义一个a.h #ifndef _A_H_ #define _A_H_ .............................. .............................. #endif 定义一个b.h,其中包含
[单片机]
基于ARM9:Thumb指令系统和ARM指令系统
1.首先说说是什么? 是指令集。 是ARM体系结构为了兼容数据总线宽度为16位的应用系统而产生的; 是ARM指令集的自指令集,每个Thumb指令在ARM指令集中都有对应的指令; 2.分析Thumb指令和ARM指令时间效率和空间效率关系如下: –Thumd代码所需的存储空间约为ARM代码的60%~70% –Thumb代码使用的指令数要比ARM代码多约30%~40%; 使用32位存储器,ARM代码比Thumb代码快约40% 使用16位存储器,Thumb代码比ARM指令快约40%~50% 与ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30% 在程序程序设计时,若对系统性能要求比较高,则要使用ARM代码;若多成本和功耗要求较
[单片机]
stm32_汇编(STR和LDR)
ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 STR -(Store Register)存储指令 格式: str{条件} 源寄存器, 存储器地址 将源寄存器中数据存到存储器地址中。 实例1: str r1, ; 将r1中的值存到r2所指定的地址中 str r1, ;将r1中的值存到r2+4所指定的地址中 str r1, ,#4 ;将r1中的值存到r2所指定的地址中, 同时r2=r2+4 LDR -(Load Register)存储指令 格式: LDR{条件} 目的寄存器, 存储器地址 当程序计数器PC作为目的寄存器时,指令从存
[单片机]
USB Type-C PD取电芯片LDR6328S介绍
近些年来强大的Type-c接口功能造就了Type-C接口的大量普及,随处可见消费者在使用支持Type-c接口的电子产品,如手机,笔记本,筋膜枪,蓝牙音箱等等。 那么像筋膜枪,蓝牙音箱,无人机,小风扇,电动牙刷,智能台灯等这样的用电器,想要支持Type-c PD的快充功能,就需要内置一颗USB Type-C PD取电(诱骗,诱电,SINK)芯片。 LDR6328S是一款兼容 USB PD、QC 和 AFC 协议的USB Type-C PD取电(诱骗,诱电,SINK)芯片,从支持 USB PD、QC 和 AFC 协议的适配器取电,然后供电给设备。比如可以配置适配器输出需要的功率,给筋膜枪,蓝牙音箱,无人机,小风扇,台灯等这样的用电
[嵌入式]
USB Type-C PD取电芯片<font color='red'>LDR</font>6328S介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved