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

单片机c语言循环移位指令,avr单片机中左移位和右移位指令计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令,而我们所做的11…

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

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

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条指令, 其余指令就可自学了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138704.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js解决页面后退

    js解决页面后退在a链接加上下面属性href=”javascript:history.go(-1);”

  • pytest parametrize fixture_参数化数据

    pytest parametrize fixture_参数化数据前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

  • linux重启nginx命令「建议收藏」

    linux重启nginx命令「建议收藏」先找到nginx进程号,命令如下ps-ef|grepnginx重启命令kill-HUP进程号kill-HUP2072常用命令#杀死进程kill-QUIT2072#强制停止pkill-9nginx#验证nginx配置文件是否正确#方法一:进入nginx安装目录sbin下,输入命令./nginx-t#看到如下显示nginx.confsyntaxisoknginx.conftestissuccessful…

  • CAN通信的数据帧和远程帧「建议收藏」

    (先来一波操作,再放概念)远程帧和数据帧非常相似,不同之处在于:(1)RTR位,数据帧为0,远程帧为1;(2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场。(3)远程帧发送特定的CANID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。环回模式下(方便调试用),设置为发送远程帧:STM32端通过J-LinkRT…

  • getattr getattribute_getparameter返回值

    getattr getattribute_getparameter返回值问题描述今天开发验证码验证功能,需要将手机号和对应的验证码设置到session中以便后面的验证,具体代码如下:1.发送验证码并把验证码保存到session中protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresponse)throwsServletException,IOException{ try{mresponse=response;St

    2022年10月31日
  • ProgressDialog不显示

    ProgressDialog不显示一般用ProgressDialog来提示用户等待耗时操作,如图中代码块IsVideoQualityWithFace();如果不在单独线程中执行的话,ProgressDialog将不会显示 AlertDialog.Builderbuilder=newAlertDialog.Builder(context); builder.setTitle(“提示”) .setMessage

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号