AVR单片机指令系统
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。
AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。
SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。
AVR器件(指令速查表) 118条指令器件
AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/851 5,AT90S8534/8535算术和逻辑指令
BRCC k
C清零转
位指令和位测试指令ADD Rd,Rr 加法
BRSH k
≥转
SBI P,b
置位I/O位ADC Rd,Rr
带进位加
BRLO k
小于转(无符号)
CBI P,b
清零I/O位◇ ADIW Rdl,K 加立即数
BRMI k
负数转移
LSL Rd
左移SUB Rd,Rr 减法
BRPL k
正数转移
LSR Rd
右移SUBI Rd,Rr
减立即数
BRGE k
≥转(带符号)
ROL Rd
带进位左循环SBC Rd,Rr 带进位减
BRLT k
小于转(带符号)
ROR Rd
带进位右循环SBCI Rd,K 带C减立即数
BRHS k
H置位转移
ASR Rd
算术右移◇ SBIW Rdl,K
减立即数
BRHC k
H清零转移
SWAP Rd
半字节交换AND Rd,Rr 与
BRTS k
T置位转移
BSET s
置位SREGANDI Rd,K 与立即数
BRTC k
T清零转移
BCLR s
清零SREGOR Rd,Rr
或
BRVS k
V置位转移
BST Rr,b
Rr的b位送TORI Rd,K 或立即数
BRVC k
V清零转移
BLD Rd
T送Rr的b位EOR Rd,Rr 异或
BRIE k
中断位置位转移
SEC
置位CCOM Rd 取反
BRID k
中断位清零转移CLC
清零CNEG Rd 取补
数据传送指令
SEN
置位NSBR Rd,K 寄存器位置位MOV Rd,Rr
寄存器传送
CLN
清零NCBR Rd,K
寄存器位清零◇ LDI Rd,K 装入立即数SEZ
置位ZINC Rd 加1
◇ LD Rd, X
X间接取数CLZ
清零ZDEC Rd 减1
◇ LD Rd, X+ X间接取数后+SEI
置位ITST Rd
测试零或负
◇ LD Rd,-X X间接取数先-CLI
清零ICLR Rd 寄存器清零
◇ LD Rd,Y
Y间接取数SES
置位SSER Rd 寄存器置FF ◇ LD Rd,Y+ Y间接取数后+CLS
清零S条件转移指令◇ LD Rd,–Y
Y间接取数先-SEV
置位VRJMP k
相对转移
◇ LDD Rd,Y+q
Y间接取数+q
CLV
清零V◇ IJMP 间接转移(Z)
◇ LD Rd, Z
Z间接取数
SET
置位T RCALL k
相对调用
◇ LD Rd, Z+ Z间接取数后+CLT
清零T◇ ICALL 间接调用(Z)
◇ LD Rd,–Z
Z间接取数先-SEH
置位HRET
子程序返回
◇ LDD Rd, Z+q Z间接取数+q CLH
清零HRETI