基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技...
时间:2020-01-09
大小:267.32KB
阅读数:288
查看他发布的资源
资料介绍
基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技巧产业技术与信息
I ND US TR Y TE CH &I NF O
基于 ARM 的嵌入式系统程序开发要点(六)
― ―开发高效程序的技巧
■ ARM 中国 费浙平
开发高效率的程序涉及很多方面, 包括编程风格、 算法实现、 针对目标的特殊优化等。 这部分主要从 A R M 的体系结构特点出发, 介绍几个程序开发中的注 意点。
在 3 2 位的寄存器中进行符号扩展,其中带符号的变量, 要用逻辑左移(L S L ) 接算术右移(A S R ) 两条指令才 能完成符号扩展 ; 无符号的变量, 要使用一条逻辑与 (A N D) 指令对符号位进行清零。 所以, 使用 32 位的 i n t 或 unsigned int局部变量最有效率。
int wordinc (int a) { return a + 1; } short shortinc (short a) { return a + 1; } wordinc ADD a1,a1,#1 MOV PC,LR shortinc ADD a1,a1,#1 MOV a1,a1,LSL #16 MOV a1,a1,ASR #16 MOV PC,LR
1
变量定义
变量定义虽然很简单, 但是也有很多值得注意的地
方。 先看下面一个例子:
char short char int a; b; c; d; char char short int a; c; b; d;
这里定义的 4 个变量形式都一样, 只是次序不同, 却 导致了在最终映像中不同的数据布局, 如图 1 所示。显 然, 第二种方式节约了更多的存储器空间。
char charinc (char a) { return a + 1; }
charinc ADD a1,a1,#1 AND a1,a1,#&ff MOV PC,LR……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或
联系我们 删除。