跨平台app开发-华清远见.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
跨平台app开发-华清远见

高端IT就业培训专家 ARM处理器 目标 本章描述了ARM体系结构和ARM Linux的发展,介绍了几种应用Linux的典型ARM处理器和开发板。 本章可以使读者了解嵌入式Linux系统硬件平台的基础知识。 ARM处理器简介 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一种低功耗高性能的32位RISC处理器,ARM处理器是一个综合体,ARM公司自身并不制造微处理器,而是由ARM的合作伙伴来制造,作为SOC(System On Chip)的典型应用 特点体积小、低功耗、低成本、高性能。支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。。 ARM处理器体系结构 ARM三大款式 ARM指令集 ADC 带进位加法指令 ADD 加法指令 AND 逻辑与指令 B 跳转指令 BIC 位清零指令 BL 带返回的跳转指令 BLX 带返回和状态切换的跳转指令 BX 带状态切换的跳转指令 CDP 协处理器数据操作指令 CMN 比较反值指令 ARM指令集 CMP 比较指令 EOR 异或指令 LDC 存储器到协处理器的数据传输指令 LDM 加载多个寄存器指令 LDR 存储器到寄存器的数据传输指令 MCR 从ARM寄存器到协处理器寄存器的数据传输指令 MLA 乘加运算指令 MOV 数据传送指令 MRC 从协处理器寄存器到ARM寄存器的数据传输指令 MRS 传送CPSR或SPSR的内容到通用寄存器指令 ARM指令集 MSR 传送通用寄存器到CPSR或SPSR的指令 MUL 32位乘法指令 MVN 数据取反传送指令 ORR 逻辑或指令 RSB 逆向减法指令 RSC 带借位的逆向减法指令 SBC 带借位减法指令 STM 批量内存字写入指令 STR 寄存器到存储器的数据传输指令 ARM指令集 SUB 减法指令 SWI 软件中断指令 SWP 交换指令 TEQ 相等测试指令 TST 位测试指令 ARM指令寻址方式 立即数寻址 寄存器寻址 寄存器间接寻址 基址变址寻址 多寄存器寻址 相对寻址 堆栈寻址 立即数寻址 ARM指令的立即数寻址是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数。 ADD R0,R0,#1 ;R0←R0 + 1 ADD R0,R0,#0x3A ;R0←R0 + 0x3A 在以上2条指令中,第2个源操作数即为立即数,实际使用时以“#”符号为前缀 寄存器寻址 寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式。如以下的指令。 ADD R0,R1,R2 ;R0←R1 + R2 该指令的执行效果是将寄存器R1和R2的内容相加,其结果存放在寄存器R0中。 寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。例如以下指令。 ADD R0,R1,[R2] ;R0←R1 + [R2] LDR R0,[R1] ;R0←[R1] 在第1条指令中,以寄存器R2的内容作为操作数的地址,然后与R1相加,其结果存入寄存器R0中。 第2条指令将以R1的值为地址的存储器中的内容送到寄存器R0中。 基址变址寻址 基址变址的寻址方式就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。如下面的几条指令所示。 LDR R0,[R1,#0x0A] ;R0←[R1 + 0x0A] LDR R0,[R1,#0x0A]! ;R0←[R1 + 0x0A]、R1←R1 + 0x0A 在第1条指令中,将寄存器R1的内容加上0x3A形成操作数的有效地址,将该地址处的操作数送到寄存器R0中。 在第2条指令中,将寄存器R1的内容加上0x0A形成操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增0x0A个字节。 多寄存器寻址 用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。这种寻址方式可以用一条指令完成传送最多16个通用寄存器的值 LDMIA R0,{R1,R2,R3,R4} ;R1←[R0] ;R2←[R0 + 4] ;R3←[R0 + 8] ;R4←[R0 + 12] 相对寻址 与基址变址寻址方式相类似,相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。比如下面的程序段完成子程序的调用和返回,跳转指令BL采用了相对寻址方式。 BL NEXT ;跳转到子程序NEXT处执行 NEXT

文档评论(0)

ailuojue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档