- 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异常向量表P66 Reset:0x0 Und:0x4 Swi:0x8 Abt(指令预取):0xc Abt(dA):0x10 Irq:0x18 Fiq:0x1c 高端地址:0xffff0000 合法立即数是怎么组成的 一、立即数指令码的组成ARM公司将32bit指令码分为如下两部分: 指令编码部分(20bit) 立即数部分(12bit) D31——D12 D11——D0 ? D11——D8 D7——D0 ? ROR值 Imm8值 32bit立即数通过Imm8值循环右移ROR值*2bit得到。即:shifter_operand = immed_8 Rotate_Right (rotate_imm * 2)。二、如何判断一个数是否是合法立即数? 首先将这个数转换为32bit16进制形式,例如218=0xDA=0x000000DA 除零外,仅有一位数为合法立即数。 除零外,仅有二位数,并且相邻(包括首尾,如0x1000000A)的为合法立即数。 除零外,仅有三位数,并且相邻(包括中间有0相间,例如0包括首尾相邻,如:0,这三位数中,最高位取值仅能为1、2、3,最低位取值仅能为4、8、C,中间位0x0~0xF。这种组合的为合法立即数。 除了以上三种,其他基本是非法立即数。 三、非法立即数如何输入? 利用LDR伪指令可将任意32bit的立即数赋给寄存器。 格式:LDR RD,=#Imm32 编译时,编译器会优先使用MOV或者MVN指令来加载立即数,以便提高代码运行效率,如不行,则一般编译成如下形式: LDR RD,[PC,#offset] .... PC+OFFSET:.word Imm32 1.如十六进制数在0x00到0xFF之间,则它一定是合法的1.若十六进制数0XFF则将十六进制的数转化成十进制2.如果这个十进制数能够被4整除则这个十六进制的立即数和合法的,否则是非法的3例如:0x101=257/4=64.25 非法 0x104=260/4=65 合法 Arm指令 特权模式(2-7),异常模式(2-7除掉5) ARM有七种工作方式: 1、用户模式(usr):正常的程序执行状态 2、快速中断模式(fiq): 3、中断模式(irq): 4、管理模式(svc):操作系统使用的保护模式 5、系统模式(sys):运行具有特权的操作系统任务 6、数据访问终止模式(abt):数据或指令预取终止时进入该模式 7、未定义指令终止模式(und):未定义的指令执行时进入该模式 可以通过软件来进行模式切换,或者发生各类中断、异常时CPU自动进入相应的模式。 除用户模式外,其余6种工作模式都属于特权模式。 特权模式中除了系统模式以外的其余5种模式称为异常模式。 大多数程序运行于用户模式。 进入特权模式是为了处理中断、异常、或者访问被保护的系统资源。 未定义指令终止摸式:虚拟存储和存储保护 系统模式:主要运行操作系统 数据访问终止模式:用来支持用软件仿真硬件协处理器 除用户模式外均是特权模式,特权模式之间模式可以任意切换,访问全局资源,但是由用户进入到特权模式需异常中断;这6种模式中,除了系统模式,其余的又是异常模式, 当相应程序发生异常时就进入相应的模式,每种模式有自己的堆栈和寄存器。 系统模式即不是通过异常进入的,但是也可以进行全局的数据访问;和用户 是一样的寄存器;也是特权模式的一种;同时也可以切换模式, 异常向量表:共8*4大小的空间,共七种异常向量源,除上面4种异常模式外,增加了复位项,同时增加了指令预取异常和软中断 0x00 复位 0x04 指令未定义 0x0b 软中断 0x0c 指令预取异常 0x10 数据异常 0x14 保留 0x18 IRQ 0x1c FIQ 各种异常返回的指令 eg subs pc,lr_irq,#4 ? Reset ? Und ? Swi ? Pabt ? Dabt ? Irq ? fiq 掌握各种异常下相应的工作模式 一、ARM体系的CPU有以下7种工作模式: 1、用户模式(usr):正常的程序执行状态 2、快速中断模式(fiq): 3、中断模式(irq): 4、管理模式(svc):操作系统使用的保护模式 5、系统模式(sys):运行具有特权的操作系统任务 6、数据访问终止模式(abt):数据或指令预取终止时进入该模式 7、未定义指令终止模式(und):未定义的指令执行时进入该模式 注解: 可以通过软件来进行模式切换,或者发生各类中断、异常时CPU自动进入相应的模式; 除用户模式外,其余6种工作模式都属于特权模式; 特权模式中除了系统模式以外的其余5种模式称为异常
文档评论(0)