资料介绍
本文介绍ARM的9种寻址方式,基础知识,需要牢固掌握,快来看一下吧。
ARM的9种寻址方式
1)立即寻址
操作数是立即数,以“#”为前缀,表示 16 进制数值时以“0x”表示。
例:
MOV R0,#0xFF00 ;0xFF00 -> R0
SUBS R0,R0,#1 ;R0 – 1 -> R0
2)寄存器寻址
操作数的值在寄存器中,指令执行时直接取出寄存器值操作。
例:
MOV R1,R2 ;R2 -> R1
SUB R0,R1,R2 ;R1 - R2 -> R0
3)寄存器偏移寻址
当第二操作数是寄存器偏移方式时,第二个寄存器操作数在与第一个操作数结合之前,选择进行移位操作。
例:
MOV R0,R2,LSL #3 ;R2 的值左移 3 位,结果放入 R0,即 R0 = R2 * 8
ANDS R1,R1,R2,LSL #3 ;R2 的值左移 3 位,然后和 R1 相与操作,结果放入 R1
可采用的移位操作:
LSL:逻辑左移(Logical Shift Left),低端空出位补 0
LSR:逻辑右移(Logical Shift Right),高端空出位补 0
ASR:算术右移(Arithmetic Shift Right),移位过程中符号位不变,即源操作数为正数,则高端空出位补 0,否则补 1
ROR:循环右移(Rotate Right),由低端移出位填入高端空出位
RRX:带扩展的循环右移(Rotate Right eXtended by 1 place),操作数右移一位,高端空出位用原 C 标志值填充。
各移位操作过程如图所示。
4)寄存器间接寻址
操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。
例:
LDR R1,[R2] ;将 R2 中的数值作为地址,取出此地址中的数据保存在 R1 中
SWP R1,R1,[R2] ;将R2中的数值作为地址,取出此地址中的数值与 R1 中的值**
5)基址寻址
将基址寄存器的值与偏移量相加,形成操作数的有效地址,基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、功能寄存器访问等。
例:
LDR R2,[R3,#0x0F] ;将R3中的数值加 0x0F 作为地址,取此地址的值保存在 R2 中
STR R1,[R0,#-2] ;将R0中的数值减 2 作为地址,把 R1的值保存到此地址中
6)多寄存器寻址
一次传送多个寄存器值,允许一条指令传送 16 个寄存器的任何子集或所有寄存器。多寄存器寻址时,寄存器子集按由小到大的顺序排列,连续的寄存器可用“-”连接,否则,用“,”分隔书写。
例:
LDMIA R1!,{R2-R7,R12} ;将 R1的值读出到 R2-R7,R12,过程中R1 自动加 1
STMIA R0!,{R3-R6,R10};将 R3-R6,R10的值保存到 R0 指向的地址,过程中R0 自动加 1
7)堆栈寻址
堆栈寻址使用堆栈指针SP,即R13,指向堆栈的栈顶。堆栈可分为两种:
向上生长:向高地址方向生长,称为递增堆栈,
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 单片机基础知识分享 2次下载
- 单片机基础知识讲解PPT课件下载 221次下载
- 如何学好单片机?分享我的看法资料下载
- 51单片机的串口和ISP下载的基础知识详细资料概述
- 单片机有哪些寻址方式?7种寻址方式的详细资料讲解
- 51单片机汇编语言的寻址方式详细资料说明
- 51单片机的基础知识学习笔记资料免费下载
- 单片机学习入门之单片机基础知识详细资料概述 77次下载
- 什么是单片机怎样学习?单片机基础知识及Proteus应用简介资料概述 18次下载
- 单片机结构原理基础知识下载 25次下载
- 单片机基础知识 0次下载
- 单片机基础知识 0次下载
- 单片机 0次下载
- MSP430单片机C语言的基本结构 28次下载
- 单片机入门基础知识大全免费下载
- 单片机基础知识介绍 4123次阅读
- 单片机电子电路基础知识 2449次阅读
- 详解单片机基础理论知识 5183次阅读
- PIC系列单片机程序设计基础知识详细说明 4303次阅读
- 如何学好单片机_单片机的学习实践 4728次阅读
- 单片机的组成和指令系统与汇编语言程序等基础知识说明 2120次阅读
- 学习单片机一定要先学好C语言再去学单片机吗 1.3w次阅读
- 怎么样才能学好单片机 3281次阅读
- 探讨单片机的寻址方式 7947次阅读
- 10个单片机MCU常用的基础知识 6310次阅读
- ARM架构基础知识小结 4513次阅读
- 微机原理8086的七种寻址方式 3.1w次阅读
- 单片机控制系统中不可缺少的“中断”基础知识 1793次阅读
- 单片机外围功能电路控制的基础知识 9595次阅读
- 单片机基础知识:单片机的前世今生 9359次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多