ARM指令集及混合编程
ARM指令集及混合编程 PPT文档下载:
具体下载目录在 /2013年资料/4月/11日/ARM指令集及混合编程
-------------------------------------------------------------------------------
一、ARM指令集
1、跳转指令:B、BL(带返回)、BLX、BX(带状态)
2、数据传送:MOV(通用寄存区)、MVN(按位取反)、CMP(比较结果存在CPSR)、TST(按位置位)、ADD、SUB、AND、ORR、BIC、MUL、
3、访问状态寄存器:MSR、MRS
二、汇编指令集
1、LDR、STR(B)
2、STR、
3、LDM、STM (批处理)
4、swp
5、LSL、ROR
6、SWI、BKPT
三、伪指令
1、GBLA、GBLL、GBLS、LCLA、LCLL、LCLS 、SETA、SETL、SETS、
2、RLIST
3、DCB (分配存储单元)
4、SPACE
5、MAP
6、IF、ELSE、ENDIF
7、WHILE、WEND、
8、AREA、CODE、RDONLY、EXPORT、IMPORT
四、C与汇编混合编程
在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的。在稍大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较好,便于人的理解,而且有大量的支持库。尽管如此,很多地方还是要用到汇编语言,例如开机时硬件系统的初始化,包括CPU状态的设定,中断的使能,主频的设定,以及RAM的控制参数及初始化,一些中断处理方面也可能涉及汇编。另外一个使用汇编的地方就是一些对性能非常敏感的代码块,这是不能依靠C编译器的生成代码,而要手工编写汇编,达到优化的目的。而且,汇编语言是和CPU的指令集紧密相连的,作为涉及底层的嵌入式系统开发,熟练对应汇编语言的使用也是必须的。