第二章、嵌入式体系结构内容摘要:

≠V  GT:有符号大于, Z= 0且 N= V  LE:有符号小于或等于, Z= 1或 N≠V 3)例子:  If ( a b )  {  X=5。  Y=c+d。  }  Else  X=cd。  ADR r4, a  LDR r0, [r4]  ADR r4, b  LDR r1, [r4]  CMP r0, r1。 ab?  BGE fblock。 if a=b, goto fblock  MOV r0, 5  ADR r4, x  STR r0, [r4]  ADR r4, c  LDR r0, [r4]  ADR r4, d  LDR r1, [r4]  ADD r0, r0, r1。 a+b  ADR r4, y  STR r0, [r4]  B after。 branch to end  fblock: ADR r4, c  LDR r0, [r4]  ADR r4, d  LDR r1. [r4]  SUB r0, r0, r1。 ab  ADR r4, x  STR r0,[r4]  after:  同样 c程序,用汇编可以写成不需要跳转的。  如下: •ADR r4, a •LDR r0, [r4] •ADR r4, b •LDR r1, [r4] •CMP r0, r1。 ab? •MOVLT r0, 5 •ADRLT r4, x •STRLT r0, [r4] •ADRLT r4, c •LDRLT r0, [r4] •ADRLT r4, d •LDRLT r1, [r4] •ADDLT r0, r0, r1。 a+b •ADRLT r4, y •STRLT r0, [r4] •ADRGE r4, c •LDRGE r0, [r4] •ADRGE r4, d •LDRGE r1. [r4] •SUBGE r0, r0, r1。 ab •ADRGE r4, x •STRGE r0,[r4] 函数  X=a+b。  Foo(x)。  Y=cd。  汇编:  BL foo。 分支链接  分支前将当前 pc值存在 r14中。 返回只要  MOV r15, r14  调用过程必须注意不覆盖 r14 嵌套调用  上述方法不适用于嵌套调用  嵌套调用时,将返回地址存堆栈  Void f1(int a)  {  f2 (a)。  }  f1 LDR r0, [r13]  STR r13!, [r14]  STR r13!, [r0]  BL f2  SUB r13, 4  LDR r13!, r15 三、 SHARC处理器  使用哈佛结构的 DSP  例子:  R1=DM(M0,I0), R2=PM(M8,I8)。 !注释  LABEL: R3=R1+R2。  每条指令用分号结束,。 开始为注释  SHARC指令 48位  基本数据字 32位  地址位 32位  片上带大量的存储器  系列中的 21061有 1Mbit片上存储器  存储器包括  PM:程序存储器  DM:数据存储器  芯片外还能够加更多的存储器 数据类型  32位 IEEE单精度浮点  40位 IEEE扩展精度浮点  32位整数  主要设计为浮点密集型运算。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。