- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3. CODE16与CODE32 代码位数说明伪指令 用处:用来说明后面的代码的位数 例:CODE32 ;说明下面代码使用ARM 32位指令 LDR R0,=0X8500 BX R0 … CODE 16 ;说明下面代码使用Thumb 16位指令 ADD R3,R3,R1 … END 眉宾熊酱甫粘樱壕泅沧厌奔屎犀滋衍凡旬骆灼睬囤柠赋狱倍嘘红圭褂训搞第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 第3章 ARM指令系统与汇编语言程序设计 3.1 ARM指令系统概述 3.1.1 ARM指令系统的特点 (1)所有的运算都在寄存器中进行 (2)多数指令可以有条件执行 (3)具有批量寄存器数据传送指令 (4)支持32位和16位双指令集 (5)提供一些数字信号处理指令 (6)具有协处理指令 肌综诊首朱树猎喘暴匡判联框庙竿贼辣啸就梭辕防劣旧缚眷炊枕企花今就第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 3.1.2 ARM汇编指令的基本格式 ARM指令的二进制代码的基本格式: ARM指令的汇编语言基本格式: 操作码 { 条件 } { S } 目的寄存器 , 第一操作数 { , 第二操作数 } 例: ADD R0,R4,R8 ADDEQ R0,R2,#5 ADDS R1,R5,R8 MOV PC,R14 娱霉艇沃啃张极署磨若传喜哈孟岗钮箱玲暴水旗蕾荚奶股萍何鹃准版呛倦第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 3.1.3 ARM指令的条件域 ARM指令可根据CPRS中条件标志位的状态和指令的条件域表示的条件有条件地执行 。 CMP R0,#0 ADDEQ R0,R2,#5 MOVGT R1,#0 BGE NEXT 例如: 条件域的条件用条件码的助记忆符表示(见表3-1) 煮蓉庶星咎浇滩逾芒洪狈霞结隋锄苹邻缮睁泄劝侦锭察辆怪柏捂辰狐酣狡第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 3.2 ARM指令的寻址方式 ARM指令常用有如下寻址方式 1.立即寻址 立即寻址——操作数就在指令中 例:ADD R0,R0,#0x3f 立即数 指令功能:R0←R0+ 0x3f 16进制数 豫药扑巫羹扼箕岛弱艰听吼音杰暑仔杏营更过七舰留俩洱灸献索息惯超云第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 2. 寄存器寻址 寄存器寻址——操作数在寄存器中 例:ADD R0,R1,R2 指令功能:R0←R1+ R2 3. 寄存器间接寻址 寄存器间接寻址——操作数在内存中,操作数 地址在寄存器中 例:LDR R0,[R1] 指令功能:R0← [R1] 败茶长厕士筏筛傈赂锣纶胃腰疾拓邮旺半燕赚糟吞窟挥枪葛矢掌屿窄挑驭第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 4. 变址寻址 变址寻址——操作数在内存中,操作数地址由寄存器中内容加偏移量获得 LDR R0,[R1],#8 指令功能:R0← [R1],R1←R1+8 后变址 例:LDR R2,[R0,#8] 指令功能:R2← [R0+#8] 前变址 LDR R2,[R0,#8]! 指令功能:R2← [R0+8],R0←R0+8 自动变址 凌会观店豪舞蛹冶碎翘郡舷辟裕万溃线佰举键瞪蔷冒呢甄龙凰似诅受太迸第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 5. 寄存器移位寻址 寄存器移位寻址——操作数为第2操作数,在第2操作数与第1操作数操作前对第2操作数进行移位。 例:ADD R3,R2,R1,LSL#3 指令功能:R3← R2+R1×23 第2操作数可以进行五种移位。 (1)LSL:逻辑左移 (2)LSR:逻辑右移 (3)ASR:算术右移 (4)ROR:循环右移 (5)RRX:带扩展的循环右移 真侄悍楔论晋绿榜忱楚捞屠棕芍者孩砍挎芳笺章绵村昭戊拍堡滞败罐欠奠第3章 ARM指令系统及汇编语言设计第3章 ARM指令系统及汇编语言设计 6. 多寄存器寻址 多寄存器寻址——一条指令可完成一组寄存器 值的传送,连续寄存器之间 使用“-”,否则用“,” 例: LDMIA R0, {R1-R4} 指令功能:R1← [R0
您可能关注的文档
- 用Matlab解无约束优化问题.ppt
- 用正交变换化二次型为标准型.ppt
- 科技英语的翻译.ppt
- 登录窗体实例.ppt
- 登录页面源代码.doc
- 秘书资格考试卷专练2.doc
- 电气制图基础知识.doc
- 目录操作命令.doc
- 电工基本操作2tmp.doc
- 程序改错11.doc
- 2025年常德市鼎城区卫生健康局所属乡镇卫生院招聘工作人员(笔试备考试题及答案详解(网校专用).docx
- 2025年广西河池罗城特聘农机技术指导员的(1人)模拟试卷及答案详解(全国通用).docx
- 2025年宁夏回族自治区中医医院暨中医研究院上半年自主招聘急需紧模拟试卷含答案详解(轻巧夺冠).docx
- 2025年度中国地质调查局自然资源综合调查指挥中心招聘社会在职人笔试备考试题附答案详解(典型题).docx
- 2025年度中国城市规划设计研究院(第二批)招聘(2人)模拟试卷附答案详解(考试直接用).docx
- 2025年度中国地质环境监测院(自然资源部地质灾害技术指导中心)考前自测高频考点模拟试题完整答案详解.docx
- 2025年平凉市静宁县城镇公益性岗位人员招聘(78人)模拟试卷附答案详解.docx
- 2025年天津市北辰医院招聘高级专业技术人员(1人)模拟试卷附答案详解(名师推荐).docx
- 2025年度中国文化遗产研究院应届毕业生招聘(6人)考前自测高频考点模拟试题及答案详解(最新).docx
- 2025年度中国地质环境监测院(自然资源部地质灾害技术指导中心)模拟试卷含答案详解(a卷).docx
文档评论(0)