单片机c语言循环移位指令,avr单片机中左移位和右移位指令

2022-08-23 15:15:39 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。

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

0 人点赞