![](https://csdnimg.cn/release/download_crawler_static/86575194/bg1.jpg)
AVR 指令表 2000/5 耿德根编
算术和逻辑指令 条件转移指令
ADD Rd,Rr 加法 RJMP 相对转移(-2K K 2K)
ADC Rd,Rr 带进位加法 IJMP 间接跳转(128KB)
ADIW Rd,K 直接数加法 JMP k 长跳转(4M)
SUB Rd,Rr 减法 RCALL k 相对调用(-2K K 2K)
SUBI Rd,K 立即数减 ICALL 间接调用(128KB)
SBC Rd,Rr 带进位减 CALL k 长调用(4M)
SBCI Rd,K 带进位立即数减 RET 子程序返回
SBIW Rd,K 立即数减法 RETI 中断返回
AND Rd,Rr 逻辑与 CPSE Rd,Rr 比较相等跳行
ANDI Rd,K 直接数逻辑与 CP Rd,Rr 比较
OR Rd,Rr 逻辑或 CPC Rd,Rr 带进位比较
ORI Rd,K 直接数逻辑或 CPI Rd,K 带直接数比较
EOR Rd,Rr 异或 SBRC Rd,b 寄存器位被清零跳行
COM Rd 取二进制反码 SBRS Rd,b 寄存器位置位跳行
NEG Rd 二进制补码 SBIC P,b I/O 寄存器的位清零跳行
SBR Rd,K 寄存器位置位 SBIS P,b I/O 寄存器的位置位跳行
CBR Rd,K 清除进位标志 BRBS S,k SREG 中的位被置位转移
INC Rd 加1 BRBC S,k SREG 中的位被清除转移
DEC Rd 减1 BREQ k 相等转移
TST Rd 测试零或负 BRNE k 不相等转移
CLR Rd 清除寄存器 BRCS k 进位位置位转移
SER Rd 置位寄存器所有位 BRCC k 进位位清除转移
MUL Rd,Rr 乘法 BRSH k 高于等于转
寄存器和操作码 BRLO k 低于转移(无符号)
Rd:寄存器文件中的目的(或源)寄存器 BRMI k 负数转移
Rr: 寄存器文件中的源寄存器 BRPL k 正数转移
R:指令执行后的结果 BRGE k 大于或等于转移(带符号)
K:常数项或字节数据(8 位) BRLT k 小于转移(有符号)
k:程序计数器的常量地址数据 BRHS k 半进位标志置位转移
b:在寄存器文件中或 I/O(3 位)中的位 BRHC k 半进位标志被清除转移
s: 在状态寄存器 (3 位)中的位 BRTS k T 标志被置位转移
X,Y,Z:间接地址寄存器 BRTC k T 标志被清除转移
P:I/O 口地址 BRVS k 溢出标志被置位转移
q:直接寻址的偏移(6 位) BRVC k 溢出标志被转移清除
状态寄存器 BRIE k 全局中断被使能转移
SREG: 状态寄存器 S:N⊕V,
符号测试位
BRID k 全局中断被禁止转移
C:进位标志位 H:半进位标志位 状态寄存器(SREG)和布尔格式
Z:零标志位 N:负数标志位 I T H S V N Z C
V:2 的补码溢出指示位 7 6 5 4 3 2 1 0
T:用于 BLD 和 BST 指令传送位
I:全局中断使能禁止标志位 标志: =/0/1/-; = 由指令引起的有效标志
AVR C 高级语言的效率
执行同功能的程序,
8MHzAVR 224MHz C51
不再有作废的产品; 不需要 5 分钟的紫外线擦除时间;
再也用不着因为掩模而无法入睡了; 没有 10 周订货交货时间;
添加新特性易如反掌; 容易调试; 容易在线升级,几秒钟搞定;
想想 AVR 的好处?