AVR 指令集简介
AVR 是 Atmel(现为 Microchip)设计的 8位 RISC 微控制器架构,指令集以高效精简著称(大多数指令单周期执行)。以下是核心类别及关键指令的中文详解:
1. 数据传送指令
MOV Rd, Rr
寄存器间复制数据(Rd 目标,Rr 源)。LDI Rd, K
加载立即数K(常数)到寄存器(仅R16~R31支持)。LD/LDS/LDD
从数据存储器加载:
LD Rd, X(通过 X 指针间接寻址);
LDS Rd, addr(直接地址);
LDD Rd, Y+偏移量(Y 指针偏移寻址)。ST/STS/STD
存储到数据存储器(语法与LD类指令对应)。IN Rd, PORT
从 I/O 端口读取数据。OUT PORT, Rr
向 I/O 端口写入数据。PUSH Rr/POP Rd
压栈 / 出栈操作。
2. 算术与逻辑指令
ADD Rd, Rr/ADC Rd, Rr
加法 / 带进位加法(影响 C/Z/V 标志)。SUB Rd, Rr/SBC Rd, Rr
减法 / 带借位减法(影响 C/Z/V 标志)。MUL Rd, Rr
无符号乘法(结果存于R1:R0)。AND Rd, Rr/OR Rd, Rr/EOR Rd, Rr
按位与/或/异或操作。COM Rd
寄存器取反(1 的补码)。NEG Rd
取负数(2 的补码)。INC Rd/DEC Rd
自增/自减(不影响进位标志 C)。
3. 位与移位指令
LSL Rd
逻辑左移(等价于ASR Rd)。LSR Rd
逻辑右移(高位填 0)。ROL Rd/ROR Rd
带进位循环左移/右移。SWAP Rd
交换字节高/低 4 位(用于 BCD 转换)。BSET i/BCLR i
置位/清除状态寄存器SREG的第i位(如中断标志)。SBI PORT, b/CBI PORT, b
I/O 端口特定位置位/清除。
4. 控制转移指令
RJMP k
相对跳转(±2KB 范围)。IJMP
间接跳转(目标地址由Z寄存器指定)。RCALL k/RET
相对调用子程序 / 从子程序返回。CP Rd, Rr/CPI Rd, K
比较(不保存结果,仅更新标志)。- 条件分支(例):
BREQ k(相等跳转,Z=1);
BRNE k(不等跳转,Z=0);
BRSH k(无符号数大于等于跳转,C=0)。
5. 系统控制指令
NOP
空操作(消耗 1 周期,用于延时或对齐)。SLEEP
进入休眠模式(降低功耗)。WDR
看门狗定时器复位(防止系统复位)。SEI/CLI
全局中断使能/禁止(操作SREG的 I 位)。
关键特性
- 寄存器组:32 个 8 位通用寄存器(
R0~R31)。 - 寻址模式:支持立即数、直接、间接、偏移寻址等。
- 指令长度:固定 16 位(部分 32 位指令如
CALL)。 - 标志位(SREG):
C(进位)、Z(零)、V(溢出)、N(负数)等。
? 应用场景:嵌入式设备(如 Arduino)、实时控制、低功耗系统。
通过精简设计和高效执行,AVR 在资源受限场景中广泛使用。建议结合具体型号手册(如 ATmega328P)深入学习时序与扩展功能。
简单描述一下Arduino相关内容
什么是Arduino,今天就针对初学者简单描述一下 Arduino 相关内容。一、初识Arduino要了解Arduino就先要了解什么是单片机,Arduino平台的基础其实就是AVR指令集的单片机。1、什么是...
南海姑娘
2021-11-23 08:38:15
单片机和arduino的区别在哪
arduino平台的基础就是AVR指令集的单片机,所以在使用arduino之前,有必要了解一些单片机和arduino的区别。(一)了解单片机1)什么是单片机?它与个人计算机有什么不同?一台能够工作
heks
2021-07-13 06:17:31
AVR架构下的汇编语言常用指令集
下面是AVR架构下的汇编语言常用指令集,英语原版看起来会更容易理解,如下所示:上面是常用的指令,全部指令集的使用方法可以在之类找到:
drakannie
2021-11-23 09:10:27
复杂指令集和精简指令集有什么区别
复杂指令集(CISC,Complex Instruction Set Computer)和精简指令集(RISC,Reduced Instruction Set Computer)是微处理器设计中
2024-08-22 11:00:00
Thumb指令集是什么意思呢
了一些变种。Thumb指令集(T变种)Thumb指令集是将ARM指令集的一个子集重新编码形成的指令集。ARM指令长度为32位,Thumb指令长度为16位。因此Thumb指令集可以得到密...
最强海贼王
2021-12-14 09:01:46
简单讲讲RISC-V指令集CPU的参数
本次CPU采用32位RISC-V指令集架构(一代是自己瞎编指令集)。指令集就是程序指令的集合,指引硬件如何设计、如何运行。
2022-08-07 14:55:19
精简指令集架构RISC与复杂指令集架构CISC有何区别
精简指令集架构RISC是什么?复杂指令集架构CISC又是什么?精简指令集架构RISC与复杂指令集架构CISC有何区别?
uwjfisgw
2021-12-23 10:02:23
所谓指令集是指什么
目录正文0.1.2.3.4.5.6.7.8.[参考文献]正文0.所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合
jack_study
2021-12-16 06:26:18
ARM的指令集文章集合
三、指令集如果你想要集中学习一下关于ARM指令集方面的知识(比如下面几个知识点),可以看下下面的文章1、机器码2、运算指令3、控制指令4、汇编指令5、RISC与CISC6、RISC-V的一些示例
emitter
2020-09-07 22:06:37
RISC-V指令集是如何设计的
我们先讲最基础的RV32I指令集。作为最基础的指令集,其包括几种指令类型。分别是数字运算指令(包括寄存器指令和立即数指令)、pc跳转指令、分支指令和内存读写指令。我们上次定义的指令集属于数字运算指令
2022-08-08 14:47:46
ARM指令集的特点有哪些呢
1、ARM指令集ARM指令集格式ARM指令集(ARM920T的核(core)的指令集)的格式如下图所示,可以看出,无论哪一种指令,长度都是32位,属于典型的精简指令集(RISC)。ARM指令集的特点
surround
2021-12-14 07:24:00
ARM指令集和THUMB指令集分别在什么情况使用
懂ARM7的来:ARM指令集和THUMB指令集分别在什么情况使用,它们有什么区别?通俗的解释一下
hgimtk
2022-11-02 14:20:14
什么是指令集
1、什么是指令集:设计CPU的人给出的编写规则就可以说是指令,这一系列的规则就是指令集(合)我们都知道之所以计算机能够进行计算,主要靠的是大规模集成电路中由晶体管组成的逻辑电路。这些逻辑电路使得
笔画张
2021-11-10 09:14:52
单片机的复杂指令集与精简指令集
1. 公司PIC 单片机是 Microchip(微芯) 公司的产品,始于1989年。2. 精简指令集技术传统的单片机采用复杂指令集(Complex Instruction Set Computer
暖暖暖
2021-11-24 06:51:12
精简指令集和复杂指令集区别
精简指令集计算机(RISC:Reduced Instruction Set Computing RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机
2020-08-10 11:17:20
解读CPU的组成指令集架构
文章目录脑图视频解读CPU的组成指令集架构: 复杂指令集 (CISC) VS 精简指令集 (RISC)X86架构ARM架构X86架构 VS ARM架构制程工艺64位计算异构计算功耗MIPS架构
elecfans
2021-07-30 06:20:15
什么是RISC-V?RISC-V指令集的优势
CPU 支持的所有指令和指令的字节级编码就是这个 CPU 的指令集架构(Instruction Set Architecture,ISA),指令集在计算机软件和硬件之间搭起了一座桥梁。
2024-03-05 10:31:03
芯经验—指令集、ARM、FPGA、DSP、RISC-V介绍
1.指令集在半导体芯片领域,指令集是一切软硬件生态的起点。指令为引导硬件的工作方式,集为集合。常用的指令集主要分为两类,复杂指令集(CISC
2022-03-31 18:04:01
浅谈CPU进化中涉及的扩展指令集
在CPU的一代一代进化中,除了频率、缓存乃至核心结构的变化外,有一个不太起眼的升级经常会被小伙伴们忽略,就是扩展指令集。指令集很多小伙伴大概耳熟,它就是指挥CPU工作的指令。不过扩展指令集又是
2020-08-24 16:18:02
简单介绍ARM的指令集
处理器架构是处理器厂商为同一个系列的处理器规定的一个规范。ARM架构是一种精简指令集(RISC)架构,具有以下RISC架构特点:较大的通用寄存器堆。load/store体系结构,其中数据处理操作仅对
emitter
2020-08-18 10:58:00
龙芯指令集,世界第三极
指令系统是生态底层逻辑,可分为复杂指令集和精简指令集。指令系统(ISA)属于计算机中硬件与软件的接口,可实现高级程序语言、汇编语言和机器语言的连接,最终编译为 CPU 可执行的简单指令
2023-09-22 16:09:20
一文详解Arm Cortex-M处理器指令集
Arm处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,具有32位Arm指令集和16位Thumb指令集,Arm指令集效率高,但是代码密度低,而Thumb指令集具有更好
2022-05-17 09:31:25