网站大量收购独家精品文档,联系QQ:2885784924

[计算机]ARM资料汇编2003.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]ARM资料汇编2003

ARM公司业务模型 ARM体系结构的演化和发展 每一个体系结构上都含有众多的处理器型号,这是在同一体系结构下根据硬件配置和存储器系统的不同而作的进一步细分。 需要注意的是通常我们用来区分 ARM 处理器家族的 ARM7、ARM9 或 ARM10,可能跨越不同的体系结构。 ARM处理器的命名 ARM处理器工作模式 ARM处理器寄存器组 ARM指令举例 SUB r0,r1,#5 ; r0=r1-5 ADD r2,r3,r3, LSL #2 ; r2=r3*5 ANDS r4,r4,#0x20 ; r4=r4 AND 0x20; set flags ADDEQ r5,r5,r6 ; if EQ, r5=r5+r6 LDR r0,[r1],#4 ; r0 = contents of address pointed to by r1; r1=r1+4 STRNEB r2,[r3,r4] ; if NE contents of byte pointed to by (r3+r4) = r2[7-0] LDRSH r5,[r6,#8]! ; sign extended r5 = contents of halfword pointed to by (r6+8) and update r6 STMFD sp!,{..regs..} ; stack registers in list,update sp 三级流水线 流水线互锁(LDM) 32位立即数 在ARM指令中,有三个操作数,目的操作数,第一操作数,第二操作数,其中最有意思的就是第二操作数了第二操作数共有12位,分成两个部分,一个部分占8位,能表示0255,另外一个部分占4位,表示第一个部分8位数零扩展成32位的右循环移位,0001右循环移位2位,0010右循环移位4位,以此类推,来扩大用12位表示更大的数,但不能表示全部,这就是所谓的8位位图原理 ARM处理器的汇编语言中,对指令语法格式中的shifter_operand的常数表达式有这样的规定:该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。 当第2 个操作数的形式为:#immed_8r常数表达式时该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。其意思是这样:#immed_8r在芯片处理时表示一个32位数,但是它是由一个8位数(比如即0x5A)通过循环移位偶数位得到(1000 0000 0000 0000 0000 0000 0001 0110,就是0x5A通过循环右移2位(偶数位)的到的)。 为什么要有这样的规定要从指令编码格式来解释仔细看表格中的shifter_operand所占的位数:12位。要用一个12位的编码来表示任意的32位数是绝对不可能的(12位数有2^12种可能,而32位数有2^32种)。但是又要用12位的编码来表示32位数,怎么办? 只有在表示数的数量上做限制通过编码来实现用12位的编码来表示32位数。 在12位的shifter_operand中:8位存数据,4位存移位的次数。8位存数据:解释了该常数必须对应8位位图。 4位存移位的次数:解释了为什么只能移偶数位。4位只有16种可能值,而32位数可以循环移位32次(32种可能),那就只好限制:只能移偶数位(两位两位地移,好像一个16位数在移位,16种移位可能)。这样就解决了能表示的情况是实际情况一半的矛盾。 所以对#immed_8r常数表达式的限制是解决指令编码的第二个操作数位数不足以表示32位操作数的无奈之举,这个可以说是聪明的做法。因为如果直接用12位数来表示32位操作数,只能表示0 到(2^12-1)大于(2^12-1)的数就没办法表示了。而且细细想来8位存数据,4位存移位的次数,应该是最好的组合了。 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档