工作状态
arm状态 32位指令
thumb状态 16位指令
存储器的格式
最大寻址空间为4gb
大端格式:字数据的高字节存储在低地址中,低字节存放在高地址中
小端格式:与大端格式相反
axd查看寄存器
=================================================================
arm寻址方式(貌似计算机原理中学过)
处理器根据指令中给出的地址信息来寻找物理地址的方式
立即寻址
立即数寻址
示例代码如下:
add r0,r0,#1; r0<--r0+1
add r0,r0,#0x3f; r0<--r0+0x3f 以十六进制表示的立即数要加0x或&
寄存器寻址
利用寄存器中的数值作为操作数
示例代码如下:(将r1和r2中的内容相加,结果存放在寄存器r0中)
add r0,r1,r2; r0<--r1+r2
寄存器间接寻址
以寄存器中的值作为操作数的地址,操作数存放在存储器中
示例代码如下:
add r0,r1,[r2]; r0<--r1+[r2]
ldr r0,[r1]; r0<--[r1]
基址变址寻址
将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址
示例代码如下:
ldr r0,[r1,#4]; r0<--[r1+4]
ldr r0,[r1,#4]!; r0<--[r1+4],r1<--r1+4
ldr r0,[r1],#4; r0<--[r1],r1<--r1+4
ldr r0,[r1,r2]; r0<--[r1+r2]
多寄存器寻址
一条指令可以完成多个寄存器值的传送,最多16个通用寄存器
示例代码如下:
ldmia r0,{r1,r2,r3,r4}; r1<--[r0]
; r2<--[r0+4]
; r3<--[r0+8]
; r4<--[r0+12]
ia表示每次在执行完加载、存储操作后,r0按字长度增加,可将连续存储单元的值
传送到r1-r4
相对寻址
以程序计数器pc的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到的操作数的有效地址
示例代码如下:
bl next; 跳转到子程序next的执行处
next
mov pc,lr; 从子程序返回
堆栈寻址
按先进先出的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置
递增堆栈
递减堆栈
满堆栈
空堆栈
- 浏览: 263276 次
- 性别:
- 来自: 济南
相关推荐
这篇学习笔记将带你走进ARM汇编的世界,理解其基本概念,掌握指令集,并学会如何在实际应用中运用。 一、ARM架构概述 ARM(Advanced RISC Machines)架构是一种广泛应用于移动设备、嵌入式系统和个人电脑的精简指令...
在“我的几篇ARM学习笔记”中,我们可以期待找到关于ARM汇编语言的学习资料,这对于理解处理器内部工作原理以及优化代码性能至关重要。 ARM汇编语言是直接针对ARM处理器的低级编程语言,每条指令都对应于硬件上的一...
**ARM体系结构与编程(第二版)学习笔记** 在计算机科学领域,ARM(Advanced RISC Machines)架构是一种广泛使用的精简指令集计算机(RISC)架构,尤其在嵌入式系统、移动设备如智能手机和平板电脑中占据主导地位。...
### ARM9学习笔记概览 #### 标题与描述:“30天学会ARM9学习笔记” - **目标**:在30天内掌握ARM9的相关知识和技术。 - **内容**:笔记包含了ARM9学习所需的理论知识、实践技巧和案例分析。 #### 标签:“ARM9 ...
在ARM架构的学习过程中,了解和...以上就是ARM学习笔记中涉及的关键知识点,包括处理器的启动、调试工具的使用、程序下载策略以及编译器的特性等。理解这些概念对于深入理解和开发基于ARM架构的嵌入式系统至关重要。
【ARM汇编初学学习笔记】是一份针对新手的教程,涵盖了ARM架构的基本概念和汇编语言编程的基础知识。ARM是Advanced RISC Machines的缩写,是一种广泛应用于移动设备、嵌入式系统和个人电脑中的处理器架构。其低功耗...
寻址方式是ARM指令集的一个重要组成部分,它决定了如何获取操作数,包括寄存器寻址、立即数寻址、基址加偏移量寻址等多种方式。 六、ARM指令集详解 指令集涵盖了跳转指令、数据处理指令、状态寄存器访问指令、内存...
"自己的arm学习历程(入门版).pdf" 文件很可能包含了作者在学习过程中积累的笔记、心得和教程,可能包括: 1. ARM基础知识的梳理和解释。 2. 实例代码,展示如何编写和运行ARM汇编程序。 3. 逐步引导,帮助读者搭建...
3. **简单的寻址模式**:ARM支持多种寻址方式,但总体上保持简洁高效,便于编译器优化。 4. **固定长度的指令格式**:ARM指令集采用统一的32位指令格式,有利于简化指令解码和提高执行效率。 除了这些RISC架构共有...
在深入了解s5pv210嵌入式Linux学习笔记之前,首先应掌握一系列的预备知识,这涉及到计算机系统结构的基础,包括IO与内存编址的区别、冯诺依曼结构和哈佛结构的特点、CPU与外部存储器接口的差异,以及ARM处理器的基本...
在这个高清图中,我们可以深入理解ARM64指令集的结构、功能和使用方式。 首先,ARM64指令集采用了RISC(精简指令集计算机)设计理念,它强调了指令的简洁性和高效性,以减少处理器执行指令时的复杂度和功耗。相比32...
内存管理则涵盖寻址方式、存储器映射、MMU(内存管理单元)的工作原理,以及如何进行虚拟内存的管理和保护。 在实验部分,学生可能会接触到实际的开发板,如基于 ARM 处理器的嵌入式系统,进行硬件接口编程、设备...
开发者需要掌握ARM指令集,包括数据处理、分支、浮点运算等指令,以及寄存器布局和寻址模式。 其次,Linux内核的模块化设计使得驱动程序可以作为可加载的内核模块存在。在开发过程中,理解Linux内核的模块化接口,...
2. **第2章 ARM微处理器的编程模型.pdf**:本章深入讨论ARM处理器的编程模型,包括寄存器结构、寻址模式、数据类型以及如何进行程序流程控制。可能还会介绍异常和中断处理机制,这对于理解和调试嵌入式系统至关重要...
总的来说,这个压缩包提供的资源全面而深入,涵盖了从理论到实践的嵌入式与ARM学习路径,适合想要进入这个领域的学生或工程师。通过系统地学习和实践,学习者将能够熟练掌握嵌入式系统设计和ARM处理器编程,为未来的...
### ARM开发步步深入之各个模块知识点解析 ...通过上述知识点的学习,我们可以深入理解ARM处理器的存储控制、启动过程以及如何使用GPIO进行简单的硬件控制,这对于进一步探索嵌入式系统开发具有重要意义。
ARM7是英国ARM公司设计的一种精简指令集(RISC)架构的微处理器,被广泛应用于嵌入式系统中。LPC213X和LPC214X是NXP(原飞利浦半导体)基于ARM7TDMI内核的微控制器系列,它们具有高性能、低功耗的特点,适用于各种...
3. **寻址方式**:理解立即寻址、直接寻址、间接寻址、寄存器寻址、相对寻址等不同的地址计算方式,及其在程序设计中的作用。 4. **程序结构**:掌握汇编语言的基本程序结构,如子程序、循环、条件分支等,并学会...