首页 > 前端 > 问答 > 单片机汇编语言指令大全文档,单片机汇编语言指令解析

单片机汇编语言指令大全文档,单片机汇编语言指令解析

来源:整理 时间:2024-05-01 03:25:48 编辑:黑码技术 手机版

本文目录一览

1,单片机汇编语言指令解析

这是目的地址传送指令,就是把#data16装进数据指针DPTR中,高位字节存放在DPH,低字节存放在DPL中,意义可能就是此操作不影响标志位吧!

单片机汇编语言指令解析

2,51汇编指令

MCS-51指令系统共有111条指令,按功能分:1、数据传送类28条2、算术操作类24条3、逻辑运算类25条4、控制转移类17条5、位操作;类17条

51汇编指令

3,汇编语言指令

“MOV A,direct (direct指8位片内数据存储单元的地址)”这条指令的功能就是把RAM中的相应的地址中的数据送到累加器A中。对应“MOV A,40H”就是将单片机内的RAM地址40H单元的内容传送到累加器A中。如果想把ROM中的40H(0040H)中的内容送到A中,51单片机中是要用查表指令“MOVC A,@A+DPTR”来实现的。想要把ROM中40H(0040H)中的内容送到A中,可以用下面几句指令来实现:“MOV DPTR,#0040HCLR AMOVC A,@A+DPTR”指令不同,功能不同,是规定下来的。
他是根据 mov指令吧mov可以分为: mov ,movx ,movc
请问你用的是什么牌子的单片机呀,牌子不同可能指令及语法都不一样

汇编语言指令

4,求89S52单片机汇编指令表

51单片机汇编指令表 8051 INSTRUCTION SET1.Arithmetic operations:指令用法 字节数 机器周期数ADD A,@Ri 1 1ADD A,Rn 1 1ADD A,direct 2 1ADD A,#data 2 1ADDC A,@Ri 1 1ADDC A,Rn 1 1ADDC A,direct 2 1ADDC A,#data 2 1SUBB A,@Ri 1 1SUBB A,Rn 1 1SUBB A,direct 2 1SUBB A,#data 2 1INC A 1 1INC @Ri 1 1INC Rn 1 1INC DPTR 1 1INC direct 2 1INC direct 2 1DEC A 1 1DEC @Ri 1 1DEC Rn 1 1DEC direct 2 1MUL AB 1 4DIV AB 1 4DA A 1 12.Logical opreations:ANL A,@Ri 1 1XRL A,@Ri 1 1ANL A,Rn 1 1XRL A,Rn 1 1ANL A,direct 2 1XRL A,direct 2 1ANL A,#data 2 1XRL A,#data 2 1ANL direct,A 2 1XRL direct,A 2 1ANL direct,#data 3 2XRL direct,#data 3 2ORL A,@Ri 1 1CLR A 1 1ORL A,Rn 1 1CPL A 1 1ORL A,direct 2 1RL A 1 1ORL A,#data 2 1RLC A 1 1ORL direct,A 2 1RR A 1 1ORL direct,#data 3 2RRC A 1 1SWAP A 1 13.Data transfer:Mnemonic Byte CycMOV A,@Ri 1 1MOV DPTR,#data16 3 2MOV A,Rn 1 1MOVC A,@A+DPTR 1 2MOV A,direct 2 1MOVC A,@A+PC 1 2MOV A,#data 2 1MOVX A,@Ri 1 2MOV @Ri,A 1 1MOVX A,@DPTR 1 2MOV @Ri,direct 2 2MOVX @Ri,A 1 2MOV @Ri,#data 2 1MOVX @DPTR,A 1 2MOV Rn,A 1 1PUSH direct 2 2MOV Rn,direct 2 2POP direct 2 2MOV Rn,#data 2 1XCH A,@Ri 1 1MOV direct,A 2 1XCH A,Rn 1 1MOV direct,@Ri 2 2XCH A,direct 2 1MOV direct,Rn 2 2XCHD A,@Ri 1 1MOV direct,direct 3 2MOV direct,#data 3 24.Boolean variable manipulation:Mnemonic Byte CycCLR C 1 1 ANL C,bit 2 2SETB C 1 1ANL C,/bit 2 2CPL C 1 1ORL C,bit 2 2CLR bit 2 1ORL C,/bit 2 2SETB bit 2 1MOV C,bit 2 1CPL bit 2 1MOV bit,C 2 25.Program and machine control:Mnemonic Byte CycNOP 1 1JZ rel 2 2RET 1 2JNZ rel 2 2RETI 1 2JC rel 2 2ACALL addr11 2 2JNC rel 2 2AJMP addr11 2 2JB bit,rel 3 2LCALL addr16 3 2JNB bit,rel 3 2LJMP addr16 3 2JBC bit,rel 3 2SJMP rel 2 2CJNE A,direct,rel 3 2JMP @A+DPTR 1 2CJNE A,#data,rel 3 2DJNZ Rn,rel 2 2CJNE @Ri,#data,rel 3 2DJNZ direct,rel 3 2CJNE Rn,#data,rel3 2

5,单片机汇编语言中比较指令

刚好也有这么个困惑,已经解决了,拿出来分享下比较转移指令CJNZCJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel第一条指令的功能是将A中的值和立即数data比较,如果两者相等,就次序执行(执行本指令的下一条指令),如果不相等,就转移,同样地,我们能将rel理解成标号,即:CJNEA,#data,标号。这样利用这条指令,我们就能判断两数是否相等,这在很多场合是非常有用的。但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。如果前面的数(A中的)大,则CY=0,不然CY=1,因此在程序转移后再次利用CY就可判断出A中的数比data大还是小了。例:MOVA,R0CJNEA,#10H,L1MOVR1,#0FFHAJMPL3L1:JCL2MOVR1,#0AAHAJMPL3L2:MOVR1,#0FFHL3:SJMPL3JC是判CY是0,还是1进行转移,如果CY=1,则转移到JC后面的标号处执行,如果CY=0则次序执行(执行它的下面一条指令)。分析一下上面的程序,如果(A)=10H,则次序执行,即R1=0。如果(A)不等于10H,则转到L1处继续执行,在L1处,再次进行判断,如果(A)>10H,则CY=1,将次序执行,即执行MOVR1,#0AAH指令,而如果(A)<10H,则将转移到L2处指行,即执行MOVR1,#0FFH指令。因此最终结果是:本程序执行前,如果(R0)=10H,则(R1)=00H,如果(R0)>10H,则(R1)=0AAH,如果(R0)<10H,则(R1)=0FFH。弄懂了这条指令,其它的几条就类似了,第二条是把A当中的值和直接地址中的值比较,第三条则是将直接地址中的值和立即数比较,第四条是将间址寻址得到的数和立即数比较,这里就不详谈了,下面给出几个对应的例程。CJNEA,10H;把A中的值和10H中的值比较(注意和上题的区别)CJNE10H,#35H;把10H中的值和35H中的值比较CJNE@R0,#35H;把R0中的值作为地址,从此地址中取数并和35H比较
刚好也有这么个困惑,已经解决了,拿出来分享下比较转移指令 CJNZCJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 第一条指令的功能是将A中的值和立即数data比较,如果两者相等,就次序执行(执行本 指令的下一条指令),如果不相等,就转移,同样地,我们能将rel理解成标号,即:CJNEA, #data,标号。这样利用这条指令,我们就能判断两数是否相等,这在很多场合是非常有用的。 但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。如果前面的 数(A中的)大,则CY=0,不然CY=1,因此在程序转移后再次利用CY就可判断出A中的数 比data大还是小了。 例: MOV A,R0 CJNE A,#10H,L1 MOV R1,#0FFH AJMP L3 L1: JC L2 MOV R1,#0AAH AJMP L3 L2: MOV R1,#0FFH L3: SJMP L3 JC是判CY是0,还是1进行转移,如果CY=1,则转移到JC后面的标号处 执行,如果CY=0则次序执行(执行它的下面一条指令)。 分析一下上面的程序,如果(A)=10H,则次序执行,即R1=0。如果(A)不等于10H,则转 到L1处继续执行,在L1处,再次进行判断,如果(A)>10H,则CY=1,将次序执行,即执 行MOV R1,#0AAH指令,而如果(A)<10H,则将转移到L2处指行,即执行MOV R1,#0FFH 指令。因此最终结果是:本程序执行前,如果(R0)=10H,则(R1)=00H,如果(R0)>10H, 则(R1)=0AAH,如果(R0)<10H,则(R1)=0FFH。 弄懂了这条指令,其它的几条就类似了,第二条是把A当中的值和直接地址中的值比较,第 三条则是将直接地址中的值和立即数比较,第四条是将间址寻址得到的数和立即数比较,这 里就不详谈了,下面给出几个对应的例程。 CJNE A,10H ;把A中的值和10H中的值比较(注意和上题的区别) CJNE 10H,#35H ;把10H中的值和35H中的值比较 CJNE @R0,#35H ;把R0中的值作为地址,从此地址中取数并和35H比较
文章TAG:单片机汇编汇编语言语言单片机汇编语言指令大全文档

最近更新

  • access2010的数据库对象都有哪些,简述access2010数据库包括哪6大对象access2010的数据库对象都有哪些,简述access2010数据库包括哪6大对象

    简述access2010数据库包括哪6大对象2,翻下列属于Access对象的是3,以下哪个属于access2010数据库对象4,access2010数据库包含哪些对象1,简述access2010数据库包括哪6大对象表(Table)——表.....

    问答 日期:2024-05-01

  • 典型数据库有哪些,常见数据库有哪些典型数据库有哪些,常见数据库有哪些

    常见数据库有哪些2,数据库都有哪几种说得越多越好3,数据库有哪几种4,数据库有哪些类型5,常用数据库有哪些1,常见数据库有哪些小型的:ACCESS,FOXPRO;大型的:MICROSOFTSQLSERVER,MYSQL,ORACLE,D.....

    问答 日期:2024-05-01

  • 安卓变焦插件,安卓平滑变焦app安卓变焦插件,安卓平滑变焦app

    苹果的三联变焦和安卓一样吗?不是,顶配iPhone目前只有1200万像素,还有。opporeno10times变焦EditionMask手机固件升级教程随着手机系统的升级,大家对安卓系统升级更感兴趣,而安卓系统升级一.....

    问答 日期:2024-04-30

  • 数据库有哪些核心,数据库系统的核心数据库有哪些核心,数据库系统的核心

    数据库系统的核心2,数据库系统的核心是3,数据库系统的核心内容是什么4,数据库系统的核心到底是什么5,数据库的核心到底是什么呢1,数据库系统的核心数据库系统的核心和基础,是数据模型,现有的.....

    问答 日期:2024-04-30

  • python基础与语法,Python的核心编程都包括哪些呢python基础与语法,Python的核心编程都包括哪些呢

    Python的核心编程都包括哪些呢2,想要学习python请问具体要学习哪些内容呢3,学习Python怎么规划时间比较好4,如何从零开始学python5,作为一个小白Python应该怎样从零到入门1,Python的核心编.....

    问答 日期:2024-04-30

  • firefox 插件调用dll,Firefox插件访问外网firefox 插件调用dll,Firefox插件访问外网

    选择用IETAB浏览这个网页就行了!那是因为你没有安装WindowsMediaPlayer的Firefox插件。转到X:programfilesWindowsMediaPlayer,找到npdsplay,dll复制这个文件,粘贴到X:programfilesMozilla.....

    问答 日期:2024-04-30

  • 税务报表哪里查询数据库,我想问一下从电脑上查报税的那些报表从哪里查例如资产负债税务报表哪里查询数据库,我想问一下从电脑上查报税的那些报表从哪里查例如资产负债

    我想问一下从电脑上查报税的那些报表从哪里查例如资产负债2,一般纳税人电脑已报表e税客怎么查询数据3,国税怎么查询财务报表4,历年企业所得税数据到哪里查5,国税报表申报后到那可以查询1,我.....

    问答 日期:2024-04-30

  • 电脑编程代码用什么写,电脑中的程序是怎样编写的电脑编程代码用什么写,电脑中的程序是怎样编写的

    电脑中的程序是怎样编写的2,大家都用什么软件写代码3,计算机程序可以用什么来编写4,编写电脑程序都用那些语言5,计算机编程大型项目一般都用什么语言编写1,电脑中的程序是怎样编写的编程,学.....

    问答 日期:2024-04-30