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等


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

发布了20 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/jianming21/article/details/89207418