`
haoyifen
  • 浏览: 16816 次
文章分类
社区版块
存档分类
最新评论

Cortex-M0+指令集

 
阅读更多

Cortex M0+保留了Cortex-M0的全部56个指令。
根据功能可以将Cortex-M0+处理器的指令化为以下几组

  • 在处理器内移动数据
    MOV,MRS(move special register to register),MSR

  • 存储器访问
    LDR(LDR,LDRH,LDRB),STR(STR,STRH,STRB),LDM,LDMIA(基地址寄存器会更新),STMIA

  • 栈空间访问
    PUSH,POP(都可以用来操作多个寄存器,SP的值=栈顶的数据的地址值+4)

  • 算数运算
    ADD,ADDC(带进位的加法),SUB,SBC(带借位的减法),MUL,CMP,CMN(负数比较)

  • 逻辑运算
    AND,ORR(逻辑或),EOR(逻辑亦或),BIC(逻辑位清除),MVN(逻辑位取反),TST(位与)

  • 移位和循环操作
    ASR(最高位不变,最后一位移出位到APSR中的进位标志),LSL,LSR,ROR(循环右移)

  • 展开和顺序反转操作
    REV(字节反转),REV16(半字内的反转),REVSH(低半字内的字节顺序反转,并进行有符号展开)这些反转指令通常用于大小端系统之间数据转换。
    SXTB(对字数据中的最低字节进行有符号展开),SXTH,UXTB(对字数据中的最低字节进行无符号展开),UXTH
    符号根据第7位或者第15位来决定

  • 程序流控制
    B(无条件跳转),B< cond ><标号> (条件跳转,有14个可选cond后缀),BL(跳转并将返回地址存储到LR),BX(跳转并根据寄存器的值第0位修改处理器状态)
    一般使BL调用子函数,BX LR返回

  • 存储器屏障指令
    DMB,DSB,ISB
    这些指令用于复杂的存储器系统。Cortex-M0只有一个存储器接口连接到存储器系统,并且系统总线接口上没有缓存,所以这些指令一般用不到。但是还是支持3个存储器屏障指令

  • 异常相关指令
    SVC 请求管理调用,一般用于系统服务的入口或者API
    CPS 使能或者禁止中断
  • 其他功能
    NOP,BKPT(断点)
  • 伪指令

Cortex-M0+的指令集的详细解释见:arm官网 Cortex-M0+内核介绍

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    《轻松玩转ARM Cortex-M0+微控制器基于飞思卡尔FRDM-KL25Z评估板》代码

    它具有简单的指令集、高效的处理能力和小巧的内存需求,适合于各种小型物联网设备、消费电子产品和工业控制应用。Cortex-M0+的特点包括:低功耗模式、硬件浮点支持(可选)、快速中断响应以及与Cortex-M系列的软件...

    Cortex-M0 +官方全部手册.rar

    本文件包含《DDI0484C_cortex_m0p_r0p1_trm》《DUI0662B_cortex_m0p_r0p1_dgug》《Cortex-M0+_Software_Developers_Errata_Notice_v4》用户手册、调试手册、开发手册

    ARM CORTEX-M0汇编指令汇总

    在讨论指令长度和指令周期数时,需要注意到Cortex-M0处理器支持两种指令集:Thumb-16指令集和Thumb-32指令集。对于大多数操作,Cortex-M0使用的是16位的Thumb指令集,它能够在单个指令周期内执行,并且具有较小的...

    The Definitive Guide to ARM Cortex M0 & M0+

    l 深度剖析系统模型、指令集以及中断处理,以利于理解ARM Cortex-M0与Cortex-M0+的工作方式; l 综合运用汇编语言和C语言实现的丰富的ARM Cortex-M0与Cortex-M0+编程案例,有助于快速动手实践; l 系统论述软件的...

    《轻松玩转ARM Cortex-M0+微控制器基于飞思卡尔FRDM-KL25Z评估板》代码部分

    它具有简洁的指令集,优化的硬件结构,以及对实时操作系统的良好支持,使得Cortex-M0+成为微控制器市场的热门选择。 飞思卡尔FRDM-KL25Z评估板是一个强大的开发工具,它配备了MCU、调试接口、多种外设接口(如USB、...

    Cortex学习\M0\深入浅出Cortex-M0.rar

    它采用了ARMv6-M架构,提供简单的指令集和高效的操作,适合于资源受限的设备。其主要特点包括: 1. **小巧的内存需求**:Cortex-M0设计紧凑,对RAM和ROM的需求较小,使得它成为小型嵌入式系统的理想选择。 2. **高...

    Cortex M0+ 技术参考手册

    《Cortex M0+ 技术参考手册》是针对ARM Cortex-M0+微控制器内核的技术文档,详细介绍了Cortex-M0+架构的特点、指令集、寄存器配置等内容,为开发者提供全面深入的理解和支持。该手册由ARM公司编写并版权所有,版本号...

    Cortex-M0技术参考手册

    2. **Thumb-2指令集**:虽然Cortex-M0没有完整的ARM指令集,但它支持Thumb-2指令集,这意味着它可以执行大多数基于Thumb-2的代码,同时保持较低的功耗。 3. **中断管理**:Cortex-M0支持嵌套向量中断控制器(NVIC)...

    Cortex M0+通用用户手册

    Cortex M0+通用用户手册主要介绍了ARM公司的一款微控制器核心——Cortex-M0+,包括它的处理器架构、指令集和核心外设。下面我们将详细阐述这些知识要点。 首先,我们需要明白ARM公司是一个英国的微处理器架构和软件...

    ARM Cortex-M0原理与应用实践V1.5.pdf

    Cortex-M0简化了架构设计,使其易于实现,同时也保留了ARM Cortex-M系列内核的基本特性,比如Thumb-2指令集和硬件支持的中断。 #### 二、ARM Cortex-M0的特点 1. **低功耗:** Cortex-M0的设计重点之一是降低功耗,...

    ARM Cortex-M0指令集

    ARM Cortex-M0指令集是ARM公司设计的针对微控制器的处理器架构的一部分,它被广泛应用于嵌入式系统。ARM Cortex-M0处理器是ARMv6-M架构的一种实现,采用32位RISC(精简指令集计算机)架构。在这一系列指令集中,ARM ...

    ARM Cortex-M0权威指南

    本书既有ARM Cortex-M0处理器内核、体系结构及其应用的详尽论述,也有指令集、编译器、软件开发的基本论述,甚至也涵盖如何定位程序代码中的错误和软件移植等方面的知识。本书适合的读者对象包括:嵌入式产品设计...

    cortex-M0例程

    1. **RISC架构**:Cortex-M0基于精简指令集计算机(RISC)设计理念,拥有高效能和低功耗的平衡。 2. **Thumb-2指令集**:使用了Thumb-2指令集,它是一个16/32位混合指令集,提高了代码密度,降低了内存需求。 3. **...

    ARM Cortex-M0 参考手册.pdf

    在指令集方面,Cortex-M0提供了丰富的指令集汇总,并且文档中还提及了内部函数和指令描述,这些是实现程序功能时的基础。存储器访问指令部分介绍了处理器如何进行数据读取和存储操作,而跳转和控制指令部分则讲解了...

    Arm Cortex-M0权威指南 英文原版

    Cortex-M0是ARM公司设计的一款面向微控制器市场的32位处理器,它秉承了ARM架构的高性能和低功耗的特点,同时提供了丰富的指令集和灵活的系统设计选项,适用于广泛的嵌入式应用。 在本书中,读者可以了解到Cortex-M0...

    2013最新的Cortex-M0+ Generic user guide

    根据所提供的文件信息,以下是关于“2013最新的Cortex-M0+ Generic user guide”这本书中的相关知识点: 1. 书的版权信息和所有权声明:文档是ARM公司版权所有,首次发布于2012年4月,并声明文档中使用的注册商标或...

    ARM Cortex-M0+ Devices Generic User Guide.pdf

    ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构...

    cortex-m0+用户手册

    - **基于ARMv6-M指令集**:Cortex-M0+采用的是ARMv6-M架构,这是一种专为嵌入式应用优化的精简指令集计算(RISC)架构。 - **Thumb-2指令集**:支持Thumb-2指令集,这意味着它可以执行更高效的代码,同时保持良好的...

    cortex- m0 手册

    - **Thumb-2指令集**:Cortex-M0采用的是 Thumb-2 指令集,这是一种16/32位混合指令集,相比传统的ARM指令集,它在代码密度和执行效率上有显著提升。 - **硬件浮点支持**:Cortex-M0不包含硬件浮点单元,但可以...

Global site tag (gtag.js) - Google Analytics