arm指令中mov和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伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如:ldr r0, =0x12345678这样,就把0x12345678这个地址写到r0中了。所以,ldr伪指令和mov是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。 ldr伪指令和ldr指令不是一个同东西。
转载于:https://www.cnblogs.com/liuwen1987/p/3504721.html
arm指令中mov和ldr及ldr伪指令的区别相关推荐
- ARM指令中如何判断一个立即数是有效立即数
ARM指令中如何判断一个立即数是有效立数 在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:"该常数必须对应8位位图,即常 ...
- ARM指令中如何判断一个立即数是 有效立即数
ARM指令中如何判断一个立即数是有效立数 在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:"该常数必须对应8位位图,即常 ...
- arm汇编中mov、movs、movw、movl、movb解析
arm汇编中mov指令 mov 指令在汇编中表示传送含有 movl mov long : 传送字长 : 32位:把32位立即数放到寄存器 movw mov word:传送字 :16位: 把 16 位立 ...
- ARM指令之MOV指令汇编与机器码的对应关系
指令条件码 条件码就是一种简单的测试ALU状态标志位的方法. mov指令机器码 比如: mov r1,#3 立即数:3 第一个操作数:寄存器1 S:0 (注意:mov指令后面加主机符为s时S位为1) ...
- ARM指令中STM和LDM的理解误区
STM和LDM的主要用途是现场保护.数据复制.参数传递等. 其模式有8种,如下:(前面4种用于数据块的传输,后面4种用于堆栈操作) (1)IA 每次传送后地址加4 (2)IB 每次传送前地址加4 ...
- ARM指令浅析1(mov、ldr)
1.环境及优化项 采用-O2优化选项,通过arm处理器架构下的gcc编译器编译用例生成汇编码查看其生成的指令.至于为什么用O2选项,是因为在某些用例中,加入-O3选项之后,arm处理器架构下gcc编译 ...
- arm汇编中DCB、DCW、DCD、DCQ指令
背景 在ida中进行分析so文件,就是elf文件,它所对应的arm汇编,在汇编中会时常碰到一些下面的汇编指令.DCB是arm汇编中的伪指令,下面就针对这个指令相关做下小记录. 伪指令及DC系列指令 A ...
- ARM指令和Thumb指令的区别
一.现在先区分下ARM指令集与Thumb指令集 Thumb 指令可以看作是 ARM 指令压缩形式的子集,是针对代码密度的问题而提出的,它具有 16 位的代码密度但是它不如ARM指令的效率 ...
- arm 指令 学习载录
ARM处理器汇编 ARM寻址方式: 1. 立即寻址,操作数在指令中给出. ADDR0,R0,#1; R0ßR0+1 ANDR8,R7,#&FF; R8ßR7[7:0]; ADDR0,R0 ...
最新文章
- PDF转Word技巧,看这篇足够
- Mybatis的update方法
- Java查询图书信息
- My SQL随记 001 常用名词/结构化语言
- windows10计算机策略,win10系统轻松玩转组策略的图文步骤
- 品牌设计与VI设计的不同之处
- outlook登陆Exchange邮箱不断掉线并弹出需要登陆的窗口
- 手机拨出等待时间长_手机打不出去电话怎么回事 一分钟轻松排查原因
- Unity之2D摄像机跟随
- Python爬虫-BeautifulSoup
- 归并排序(Python)
- 【WangEditor】使用富文本编辑器 WangEditor 实现用户自定义图片大小(改js源码)
- 算法 - 求两个自然数的最大公约数(C++)
- 80%码农都难以逃脱的痛,你中招了嘛?
- Widows(win10等等)使用过程中的 问题 与 小技巧 ----- 长期积累
- 再见!永远的21号!马刺退役邓肯21号球衣
- kubernetes HPA使用及测试
- NB-IoT上下行传输速率是多少?
- Spark Livy
- 论文查重的步骤是什么?
热门文章
- Tomcat、Websphere和Jboss类加载机制
- php 网址尾部带斜杠和不带区别,URL路径中带正斜杠/与不带的区别
- cmenu 隐藏子项中的一个子项_区分Maven中dependencyManagement与dependencies的作用
- CentOS 搭建svn服务器
- 鸿蒙系统第五批公测,鸿蒙系统即将迎来二轮公测,nova机型增添其中
- leetcode算法题--煎饼排序
- leetcode算法题--飞机座位分配概率
- Java中重载(overload)和重写(override)
- 微服务网关Kong 1.0正式发布!提供100+项功能
- Kettle和ETL的基本构成