[计算机]ARM资料汇编.doc_第1页
[计算机]ARM资料汇编.doc_第2页
[计算机]ARM资料汇编.doc_第3页
[计算机]ARM资料汇编.doc_第4页
[计算机]ARM资料汇编.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论