- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析ARM指令寻址方式
浅析ARM指令寻址方式
摘要:寻址方式是汇编语言中的一个重要内容,同时也是学习的难点之一。该文通过以ARM汇编语言为例,指出各种ARM指令的寻址方式的特点、分析比较各寻址方式间的区别,并通过具体实例来阐述不同寻址方式对内存的访问。
关键词:ARM汇编语言;ARM指令;寻址方式;多寄存器寻址;堆栈寻址
中图分类号:TP312文献标识码:A文章编号:1009-3044(2012)06-1249-03
Analysis of ARM Instruction Addressing Mode
WANG Ru
(Liaoning Equipment Manufacturing Technical College, Shenyang 110161, China)
Abstract: Addressing mode is an important part for assembly language, At the same time,It is hard to learn. This article based on ARM as? sembly language, The ARM instruction addressing mode features, Analysis and comparison of the difference between various addressing modes, and through some concrete examples to illustrate different addressing modes for a memory access.
Key words: ARM assembly language; ARM instructions; addressing mode; multiple register addressing; stack addressing
在嵌入式系统开发中主要采用的计算机语言有汇编语言和C、C++、JAVA等语言。其中C、C++、JAVA等高级语言主要用作嵌入式系统的应用程序的开发;而汇编语言主要用来进行嵌入式系统的初始化操作。由于每个独立的嵌入式系统产品都要有初始化部分,且汇编语言具有可直接访问硬件,提高运行效率等优点,因此汇编语言在嵌入式系统开发中占有非常重要的地位。
汇编语言在进行程序设计时必须考虑到机器的指令系统、寻址方式及存储设备的设置和功能,而熟练应用机器所采用的各种寻址方式,是运用汇编语言进行程序设计的根本。然而在教学过程中,我们发现很多同学对寻址方式知识点掌握不够好,这直接影响到指令的理解,进而影响整个汇编语言的学习。
本文以ARM汇编语言为例,介绍ARM指令的八种寻址方式,分析各种寻址方式的特点,找出它们之间的区别和联系,从而形成正确的概念,便于理解和学习。
首先,我们要明确几个概念。什么是寻址?寻址是处理器根据指令中所给出的信息找到操作数存储的地方。即寻找操作数的地址。什么是寻址方式?寻址方式就是给出不同的寻找操作数的方式。寻??方式的分类有很多种,本文归纳为八种,即寻找操作数有八种方式。
在寻址过程中,操作数的存放位置决定着寻址的方式。操作数一般存放在寄存器或存储器中。寄存器位于CPU内部,它的存取速度比存储器要快得多。下面我们开始逐一分析这几种寻址方式,我们以源操作数的寻址方式为例。
1立即数寻址
操作数在指令中给出,取出指令即取出数据。例如:
MOV R0, #0x8800;R0←#0x8800
该指令含义是将#0x8800数据传送给R0寄存器。其中,#0x8800就是操作数,本方式特点是操作数不用寻找,操作数在指令中。
2寄存器寻址
寄存器中的数值直接作为操作数。例如:
MOV R0, R1; R0←R1
该指令的含义是将R1寄存器的数值传送给R0寄存器。其中,要寻找的操作数存放在R1的寄存器中,即本方式的特点是操作数存放在寄存器中。
3寄存器间接寻址
寄存器存放的是操作数的地址。例如:
LDR R0 , [R2];R0←[R2]
该指令的含义是将R2中的数值作为地址,取出地址中的数据存在R0中。其中,[]表示R2中的数值表示的是操作数的地址。本方式的特点是操作数存放在存储器中,寄存器里存放的是操作数的地址。这与C语言中的指针概念有些类似。
4寄存器移位寻址
对第二个源操作数进行移位操作后为所求操作数。例如:
ADD R6, R3, R1, LSL#2;R6←R3 + R1 * 4
该指令含义为将R1寄存器的值进行逻辑左移2位后所得结果,与R3寄
您可能关注的文档
- 有关水平井测井技术研究与应用.doc
- 有关电控及自动化设备可靠性试验方面研究.doc
- 有关道路设计方面几点建议.doc
- 有关采暖管道外网直埋敷设问题思考.doc
- 有助于OLED产业化可溶解工艺.doc
- 有压给料与无压给料重介质旋流器选煤比较.doc
- 有放矢 2008年第2期.doc
- 有效提升重庆市中小学校长培训效能几点思考.doc
- 有效提高建筑施工管理创新措施研究.doc
- 有效管理知识型员工探索.doc
- 团队设备优化培训2026年课件.pptx
- 2026届高三二轮复习试题政治大单元突破练14社会争议解决含解析.docx
- 2024-2025学年浙江省嘉兴市高三(上)期末数学试卷.pdf
- 2026届高三二轮复习试题政治大单元突破练18辩证唯物主义认识论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练19社会历史观与人生价值观含解析.docx
- 2024-2025学年浙江省嘉兴市九年级(上)期末语文试卷.pdf
- 2024-2025学年浙江省金华市东阳市九年级(上)期末语文试卷.pdf
- 2024-2025学年浙江省金华市婺城区九年级(上)期末语文试卷.pdf
- 2024-2025学年浙江省金华市金东区九年级(上)期末语文试卷.pdf
- 2024-2025学年浙江省六校联盟高二(上)期中语文试卷.pdf
最近下载
- PLC技术应用 (S7-200 SMART)项目二 顺序功能图和顺序控制指令及其应用.pptx VIP
- 北京建筑大学2023-2024学年第1学期《环境微生物学》期末考试试卷(A卷)附标准答案.docx
- 地球小博士-全国地理科普知识大赛历年真题及答案(高中组7套试题).pdf VIP
- 赫茨RF300A变频器说明书.pdf VIP
- 久菱JL-E系列变频器说明书.pdf VIP
- 信息技术赋能下的学生评价结果应用,激发高中生学习潜能的策略分析教学研究课题报告.docx
- 附件3:设备部安全责任清单和月度检查表.docx VIP
- 预防流感英文版课件.pptx VIP
- 新技术、新产品、新工艺、新材料应用施工方案(新版).docx VIP
- 危险化学品典型事故案例分析(王如君).pptx VIP
原创力文档


文档评论(0)