第3章 ARM指令系统及汇编语言设计.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档