大家好,又见面了,我是你们的朋友全栈君。
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。
AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。
SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。
AVR器件(指令速查表)118条指令器件
AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/8515,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
置位SREG
ANDI Rd,K
与立即数
BRTC k
T清零转移
BCLR s
清零SREG
OR Rd,Rr
或
BRVS k
V置位转移
BST Rr,b
Rr的b位送T
ORI Rd,K
或立即数
BRVC k
V清零转移
BLD Rd
T送Rr的b位
EOR Rd,Rr
异或
BRIE k
中断位置位转移
SEC
置位C
COM Rd
取反
BRID k
中断位清零转移
CLC
清零C
NEG Rd
取补
数据传送指令
SEN
置位N
SBR Rd,K
寄存器位置位
MOV Rd,Rr
寄存器传送
CLN
清零N
CBR Rd,K
寄存器位清零
◇LDI Rd,K
装入立即数
SEZ
置位Z
INC Rd
加1
◇LD Rd, X
X间接取数
CLZ
清零Z
DEC Rd
减1
◇LD Rd, X
X间接取数后+
SEI
置位I
TST Rd
测试零或负
◇LD Rd,-X
X间接取数先-
CLI
清零I
CLR Rd
寄存器清零
◇LD Rd,Y
Y间接取数
SES
置位S
SER Rd
寄存器置FF
◇LD Rd,Y
Y间接取数后+
CLS
清零S
条件转移指令
◇LD Rd,–Y
Y间接取数先-
SEV
置位V
RJMP 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
置位H
RET
子程序返回
◇LDD Rd, Z q
Z间接取数+q
CLH
清零H
RETI
中断返回
◇LDS Rd,K
从SRAM装入
NOP
空操作
CPSE Rd,Rr
比较相等跳行
◇ST X ,Rr
X间接存数
SLEEP
休眠指令
CP Rd,Rr
比较
◇ST X ,Rr
X间接存数后+
WDR
看门狗复位
CPC Rd,Rr
带进位比较
◇ST –X ,Rr
X间接存数先-
90条指令为Attiny11/12/15/22=
□ 89条基本指令是AT90S1200
CPI Rd,K
与立即数比较
◇ST Y ,Rr
Y间接存数
SBRC Rr,b
位清零跳行
◇ST Y ,Rr
Y间接存数后+
SBRS Rr,b
位置位跳行
◇ST –Y ,Rr
Y间接存数先-
SBIC P,b
I/O位清零跳行
◇STD Y q ,Rr
Y间接存数+q
SBIS P,b
I/O位置位跳行
ST Z ,Rr
Z间接存数
BRBS s,k
SREG位置位转
◇ST Z ,Rr
Z间接存数后
118条指令器件=
◇ 90条指令器件
BRBC s,k
SREG位清零转
◇ST –Z ,Rr
Z间接存数先-
BREQ k
相等转移
◇STD Z q ,Rr
Z间接存数 q
BRNE k
不相等转移
◇STS k,,Rr
数据送SRAM
BRCS k
C置位转
□LPM
从程序区取数
IN Rd,P
从I/O口取数
OUT P, Rdr
存数I/O口
PUSH Rr
压栈
POP Rd,
出栈
说明: SL-DIY02-3开发实验器的11个实验程序例子,仅用34条指令(以红色表示)
计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。
AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。
SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138704.html原文链接:https://javaforall.cn