51单片机之系统指令

前言

  • 89C51/S51系统指令可分为5大类:
    28条 数据传送指令
    24条 算术运算指令
    25条 逻辑运算及位移指令
    17条 控制转移指令
    17条 位操作指令或布尔操作

此文章总结各种指令是方便学习单片机的同学查询指令

此文章分别讨论5大类系统指令的助记符、含义、用法等属性。

本文章参考李朝青等人的《单片机原理及技术接口》。

数据传送指令

MOV

  • 助记符:MOV
  • 英文全称:Move
  • 含义:对内部数据寄存器(内部RAM)和特殊功能寄存器(SFR)进行数据传送

MOVC

  • 助记符:MOVC
  • 英文全称:Move Code
  • 含义:读取程序寄存器(ROM,包含内部ROM和外部ROM)的数据表格的数据进行传送

MOVX

  • 助记符:MOVX
  • 英文全称:Move Extenal RAM
  • 含义:对外部数据寄存器(外部RAM)的数据传送

XCH

  • 助记符:XCH
  • 英文全称:Exchange
  • 含义:字节交换

XCHD

  • 助记符:XCHD
  • 英文全称:Exchange low-order Digit
  • 含义:低半字节交换

PUSH

  • 助记符:PUSH
  • 英文全称:Push onto Stack
  • 含义:入栈

POP

  • 助记符:POP
  • 英文全称:Pop from Stack
  • 含义:出栈

运算符指令

ADD

  • 助记符:ADD
  • 英文全称:Addition
  • 含义:加法

ADDC

  • 助记符:ADDC
  • 英文全称:Add with Carry
  • 含义:带进位加法

SUBB

  • 助记符:SUBB
  • 英文全称:Sub tract with Borrow
  • 含义:带借位的减法

MUL

  • 助记符:MUL
  • 英文全称:Multiplication
  • 含义:乘法

DIV

  • 助记符:DIV
  • 英文全称:Division
  • 含义:除法

DA

  • 助记符:DA
  • 英文全称:Decimal Adjust
  • 含义:十进制调整

INC

  • 助记符INC
  • 英文全称:Increment
  • 含义:加一

DEC

  • 助记符
  • 英文全称:Decrement
  • 含义:减一

逻辑运算指令

ANL

  • 助记符:ANL
  • 英文全称:AND Logic
  • 含义:逻辑与
  • 作用:可以使某些位置0(清零)

ORL

  • 助记符:ORL
  • 英文全称:OR Logic
  • 含义:逻辑或
  • 作用:可以使某些位置1

XRL

  • 助记符:XRL
  • 英文全称:Exclusive - OR Logic
  • 含义:逻辑异或
  • 作用:可以使某些位置取反

CLR

  • 助记符:CLR
  • 英文全称:Clear
  • 含义:清零

CPL

  • 助记符:CPL
  • 英文全称:Complement
  • 含义:取反

RL

  • 助记符:RL
  • 英文全称:Rotate Left
  • 含义:循环左移

RR

  • 助记符:RR
  • 英文全称:Rotate Right
  • 含义:循环右移

RLC

  • 助记符:RLC
  • 英文全称:Rotate Left through the Carry flag
  • 含义:带进位的循环左移

RRC

  • 助记符:RRC
  • 英文全称:Rotate Right through the Carry flag
  • 含义:带进位的循环右移

SWAP

  • 助记符:SWAP
  • 英文全称:Swap
  • 含义:一个字节内低四位与高四位交换

控制转移类指令

ACALL

  • 助记符:ACALL
  • 英文全称:Absolute subroutine Call
  • 含义:子程序绝对调用

LCALL

  • 助记符:LCALL
  • 英文全称:Long subroutine Call
  • 含义:子程序长调用

RET

  • 助记符:RET
  • 英文全称:Return from subroutine
  • 含义:子程序返回

RETI

  • 助记符:RETI
  • 英文全称:Return from Interruption
  • 含义:中断返回

SJMP

  • 助记符:SJMP
  • 英文全称:Short Jump
  • 含义:短转移

LJMP

  • 助记符:LJMP
  • 英文全称:Long Jump
  • 含义:长转移

AJMP

  • 助记符:AJMP
  • 英文全称:Absolute Jump
  • 含义:绝对转移

CJNE

  • 助记符:CJNE
  • 英文全称:Compare Jump of Not Equal
  • 含义:比较不相等则转移

DJNZ

  • 助记符:DJNZ
  • 英文全称:Decrement Jump if Not Zero
  • 含义:减一后不为0则转移

JZ

  • 助记符:JZ
  • 英文全称:Jump if Zero
  • 含义:结果为0,则转移

JNZ

  • 助记符:JNZ
  • 英文全称:Jump if Not Zero
  • 含义:结果不为0,则转移

JC

  • 助记符:JC
  • 英文全称:Jump if the Carry flag is set
  • 含义:有进位,则转移

JNC

  • 助记符:JNC
  • 英文全称:Jump if Not Carry
  • 含义:无进位,则转移

JB

  • 助记符:JB
  • 英文全称:Jump if the Bit is set
  • 含义:位为一,则转移

JNB

  • 助记符:JNB
  • 英文全称:Jump if the Bit is Not set
  • 含义:位为零,则转移

JBC

  • 助记符:JBC
  • 英文全称:Jump if the Bit is set and Clear the bit
  • 含义:位为一,则转移,并清楚该位

NOP

  • 助记符:NOP
  • 英文全称:No Operation
  • 含义:空操作

51单片机之逻辑运算指令ANL、ORL、XRL等

51单片机之数据转移指令MOV、MOVX、MOVC等

51单片机之位操作指令SETB、CPL等

51单片机之控制转移指令SJMP、LJMP等

51单片机之算术运算指令ADDC、SUBB等


由本人水平有限,文章难免有错误,望告知

  • 23
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C51单片机是由英特尔公司设计的8051系列单片机的一种,它采用C语言和汇编语言混合编程。汇编指令表是C51单片机指令集合,用于编写汇编程序。 C51单片机汇编指令表包含了各种指令,用于执行不同的操作。这些指令包括数据传输指令、算术运算指令、逻辑运算指令、位操作指令、跳转指令、中断指令等等。这些指令可以实现对存储器和寄存器的读写、对数据的运算、逻辑判断、程序的跳转等操作。 在编写汇编程序时,使用汇编指令表可以很方便地找到需要的指令,了解指令的功能和使用方法。对于初学者来说,汇编指令表可以作为学习的参考资料。 汇编指令表的内容一般按照指令的功能分类,每个指令都有对应的助记符、操作码和描述。助记符是指令的缩写形式,操作码是指令的机器码形式,描述是指令的功能和使用说明。 通过熟练掌握汇编指令表,可以编写出高效、可靠的汇编程序。同时,还可以根据指令表对已有的汇编程序进行修改和优化。但需要注意的是,由于C51单片机的汇编指令表较为庞大,初学者在使用时可能会感到困惑,因此建议结合学习资料和实践来理解和使用指令表。 总而言之,C51单片机汇编指令表是学习和编写汇编程序的重要参考资料,它提供了各种指令的功能和使用方法,帮助程序员实现对单片机的控制和操作。对于使用C51单片机进行开发的工程师和学生来说,掌握汇编指令表是必不可少的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值