×

ARM的指令集详细说明

消耗积分:2 | 格式:ppt | 大小:9.00 MB | 2020-01-13

youyou21321

分享资料个

  虽然嵌入式应用大多数应用程序都可采用C或C++等高级语言编程,以及汇编语言与C语言之间的混合编程,但由于汇编语言具有编译效率高、直接操作硬件等特点,在基于ARM的嵌入式开发中,系统的引导、启动代码必须用汇编语言来编写;

  汇编语言是低级语言,它是在指令集的基础上考虑编程的,因此,首先必须了解ARM指令集。

  ARM指令集以32位二进制编码方式给出,每条指令都具有不同的二进制编码方式、不同的指令功能;

  指令编码中定义了:第一操作数、第二操作数、目的操作数、条件标志影响位以及每条指令所对应的不同功能实现的二进制位。

  ARM面向嵌入式应用,是典型的RISC体系结构。与基于传统CISC结构的指令集相比,具有简洁、高效和便于实现的特点。

  ARM微处理器的指令集是加载/存储型的,也即大部分指令仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成(Load-store 结构)。

  当处理器工作在ARM状态时,几乎所有的指令均可以包含一个可选的条件码,只有CPSR中的条件标志满足指定条件时,指令才被执行。不符合条件的代码依然占用一个时钟周期(相当于一个NOP指令)。

  每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。

  例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转,否则指令被忽略。

  在16种条件标志码中,只有15种可以使用,第16种(1111)为系统保留,暂时不能使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !