目录
一、ARM指令集导学
一、指令集
二、汇编的本质
二、Keil仿真环境搭建?
?一、仿真
二、Keil
三、环境搭建?
三、ARM指令集概述?
?作业:
一、ARM指令集导学
一、指令集
?指令 ? ? 能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...) ? ? 指令在内存中以机器码(二进制)的方式存在 ? ? 每一条指令都对应一条汇编 ? ? 程序是指令的有序集合
?指令集 ? ? 处理器能识别的指令的集合称为指令集 ? ? 不同架构的处理器指令集不同 ? ? 指令集是处理器对开发者提供的接口 ?
二、汇编的本质
?汇编(对接CPU) ? ? > 每条汇编都会唯一对应一条机器码,且CPU能直接识别和执行 ? ? ? 即汇编中所有的指令都是CPU能够识别和执行的 ? ? > 汇编中寄存器的使用、栈的分配与使用、程序的调用、参数的传递等 ? ? ? 都需要自己维护
?C语言(对接编译器) ? ? > 每条C语句都要被编译器编译成若干条汇编指令才能被CPU识别和执行 ? ? ? 即C语句中的指令CPU不一定能直接识别,需要编译器进行“翻译” ? ? > C中寄存器的使用、栈的分配与使用、程序的调用、参数的传递等 ? ? ? 都是编译器来分配和维护 ?
二、Keil仿真环境搭建?
?一、仿真
?硬件仿真 ? ? 通过硬件接口将CPU和内存中实际的信息读出来
?软件仿真 ? ? 通过软件模拟CPU内部运行程序的状态
二、Keil
?Keil ? ? Keil MDK是用于基于ARM Cortex-M 微控制器的完整软件开发环境。它集成了uVision IDE ? ? C/C++编译器、调试器以及其他中间组件,支持众多芯片供应商,易于学习和使用. ?
三、环境搭建?
?1.安装Keil集成开发环境
?2.安装gcc交叉编译工具链
?3.创建汇编工程,熟悉仿真环境的使用 ?
三、ARM指令集概述?
?@ 汇编的中符号 ?? ?@ 1.指令: ?能够编译生成一条32bit机器码,并且能被CPU识别和执行 ?? ?@ 2.伪指令:本身不是指令,编译器可以将其替换成若干条指令 ?? ?@ 3.伪操作:不会生成指令,只是在编译阶段告诉编译器怎么编译 ?? ? @ ARM指令集 ?? ?@ 1.数据处理指令: ?进行数学运算、逻辑运算 ?? ?@ 2.跳转指令:?? ??? ?实现程序的跳转,本质就是修改了pc寄存器 ?? ?@ 3.Load/srore指令:访问(读写)内存 ?? ?@ 4.状态寄存器传送指令:用于访问(读写)CPSR寄存器 ?? ?@ 5.软中断指令:?? ?触发软中断 ?? ?@ 6.协处理指令:?? ?操作协处理器的指令
?
?作业:
1.简述C语言和汇编语言的本质区别是什么
见上文汇编本质
|