![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
arm 32位架构 汇编
文章平均质量分 71
arm 32位 基础知识以及汇编指令
KXR
这个作者很懒,什么都没留下…
展开
-
ARM 寄存器学习:(一)arm多种模式下得寄存器
的处理器模式,在每一种处理器模式中可见的寄存器包括 15 个通用寄存器( R0~R14)、一个或两个(User和Sys不是异常模式,没有spsr寄存器)状态寄存器(cpsr和spsr)、程序计数器( PC )。原创 2024-03-14 17:13:12 · 554 阅读 · 0 评论 -
ARM 寄存器学习:(前言)七种模式\异常源\向量表\异常返回
und。原创 2024-04-02 15:57:40 · 1059 阅读 · 0 评论 -
ARM 汇编指令:(七) STM/LDM多寄存器加载/多存储指令
ARM 微处理器支持这四种类型的堆栈工作方式,一般使用那种栈都是由编译器决定的,arm_gcc是使用的满递减栈,那么我们写.s也按照满递减栈才方便。reglist :表示寄存器列表,可以包含多个寄存器,它们使用“,”隔开,如{R1,R2,R6-R9},寄存器由小到大排列;不能在USR模式和SYS模式下使用该符号,因为user和svc模式是公用r0-r14的,所以这两个模式下都不能用^。LDM寄存器列表如果包含R15(PC)时,那么除了正常的多寄存器传送外,考验大家理解能力的地方来了,专心点,嘿嘿!原创 2024-03-13 18:02:56 · 914 阅读 · 0 评论 -
ARM 汇编指令:(六) B 跳转指令
能够影响指令条件码的是CRSP的那几位,有符号减法,也会影响到CRSP,所以这里跳转指令B的条件码是被subs的结果所影响。跳转指令 B 使程序跳转到指定的地址执行程序。指令 BL 将下一条指令的地址复制到 R14()寄存器中,然后跳转到指定地址运行程序。原创 2024-03-13 15:09:47 · 1236 阅读 · 0 评论 -
ARM 汇编指令:(五)CMP指令
CMP指令是计算机指令集中的一种比较指令,用于比较两个操作数的大小关系或相等性,并根据比较结果设置或更新条件码寄存器(或程序状态字)的标志位。指令格式:CMP 第一操作寄存器:参与比较的第一个数(只能是寄存器)第二操作数:参与比较的第二个数(既可以是寄存器,也可以是立即数)执行CMP指令时,计算机会计算操作数1与操作数2之间的差值,并更新CPSR状态寄存中的标志位。常见的标志位包括零标志位(Z),负标志位(N),进位标志位(C)和溢出标志位(V)。原创 2024-03-13 14:30:19 · 3343 阅读 · 0 评论 -
ARM 汇编指令:(四) 位运算指令
的结果存放在目标寄存器(目标寄存器=操作数1 & ~操作数2)移指令,实现将寄存器进行左移操作。移指令,实现将寄存器进行右移操作。操作数2的结果存放在目标寄存器。操作数2的结果存放在目标寄存器。操作数2的结果存放在目标寄存器。AND:将操作数1按位。EOR:将操作数1按位。BIC:将操作数1按位。原创 2024-03-13 12:43:46 · 671 阅读 · 0 评论 -
ARM 汇编指令:(三)运算处理指令
adds 指令进行加法时,在产生进位时,会改变状态寄存器CPSP的C位,标识本次运算有进位。操作数1和2都必须是寄存器,并且操作数1的寄存器编号不能和目标寄存器一样。32位乘法指令,将操作数1和操作数2相乘的结果给目标寄存器(add用于执行实现两个寄存器或寄存机或寄存器与立即数的。它可以用于整数、浮点数等各种数据类型的加法运算。操作,它可以用于整数、浮点数等各种数据类型的减法运算。SUB指令实现两个寄存器或寄存机或寄存器与立即数的。其实就是计算有符号类型。其实就是计算有符号类型。原创 2024-03-13 10:40:53 · 853 阅读 · 0 评论 -
ARM 汇编指令:(二) LDR与STR 单内存访问指令
如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。#offset是可选的偏移量,用于指定基地址寄存器Rn与实际数据的偏移量。#offset是可选的偏移量,用于指定基地址寄存器Rn与实际数据的偏移量。Rn是基地址寄存器,其中存储了要加载数据的内存地址。Rn是基地址寄存器,其中存储了要存储数据的内存地址。STR指令将寄存器中的数据存储到内存中的指定位置。Rd是目标寄存器,用于存储从内存中加载的数据。Rd是源寄存器,其中存储了要存储到内存的数据。原创 2024-03-12 15:22:32 · 2792 阅读 · 0 评论 -
ARM 汇编指令 :(一) MOV
Operand2是操作数,即要移动到目标寄存器的值。它可以是另一个寄存器、立即数或寄存器的移位操作。mov word:传送字 :16位;把 16 位立即数放到寄存器的底16位,高16位清0。movs r0, #0 默认结果为零但不影响CPSR的Z位,加上s以后会影响CPSR标志位。中用于将数据从一个位置或寄存器复制到另一个位置或寄存器的指令。3.将一个寄存器里保存的值与一个立即数做逻辑或操作,然后将结果移动到目标寄存器里。mov long : 传送字长 : 32位;Rd是目标寄存器,用于存储要加载的数据。原创 2024-03-12 14:00:17 · 1043 阅读 · 0 评论