目录
一.单片机指令简述
单片机的功能是从外部世界接收信息,并在
CPU
中进行加工,处理,然后再将结果送回外部世界。
要完成上述一系列操作,
首先要提供一套具有单片机能够识别特定功能的操作命令,这种操作命令就叫
做指令
。
CPU 所能执行的各种指令的集合称为指令系统
。不同的机种有不同的指令系统
单片机指令系统共有指令
111
条,分为五大类:
数据传送类指令(29 条)
算术运算类指令(24 条)
逻辑运算及移位类指令(24 位)
控制转移类指令(17 条)
位操作类指令(17 条)
二.汇编指令
MCS-51
系列单片机的汇编指令由
操作码助记符字段和操作数助记符字段
组成。指令格式如下:
![](https://img-blog.csdnimg.cn/20200423213620384.png)
第一部分为操作码助记符,表示要执行的操作指令
,一般由二至五个英文字母组成,例如
JC
、
MOV
、
ADD
、
ORL
、
SETB
、
ACALL
等。
第二部分为操作数,指明参与操作的数据。
操作码与操作数之间用一个或几个空格隔开。根据指令
功能的不同,操作数可以有一个、两个、三个或者没有,操作数之间用逗号“,”分隔开。
指令中的常用符号
在描述
指令系统时,经常使用各种缩写符号,其含义如表
所示:
![](https://img-blog.csdnimg.cn/20200423214012146.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzc4ODk1Mg==,size_16,color_FFFFFF,t_70)
三.寻址方式
MCS-51
系列单片机共有
7
种寻址方式:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址
寻址、相对寻址和位寻址。
寻址方式是指令中确定操作数的形式。
在
单片机中,存放数据的存储器空间有
4
种形式:
内
部数据 RAM、特殊功能寄存器 SFR、外部数据 RAM 和程序存储器
。其中,除内部数据
RAM
和
SFR
统
一编址外,其它存储器都是独立编址的。为了区别指令中操作数所
处的地址空间,对于不同存储器中的
数据操作,采用了不完全相同的寻址方式,这是51
单片机在寻址方式上的一个显著特点。
寻址方式与相应的存储器的空间、寄存器
1.寄存器寻址方式
寻址空间:
R0~R7,由程序状态字 PSW 的 RS1、RS0 两位的值选定工作寄存器区;
A、B、CY、DPTR。
寄存器寻址是指由指令选定寄存器中的内容作为操作数的寻址方式,由指令的操作码字节的最低 3
位所寻址的工作寄存器 R0~R7。
对累加器 A
、寄存器
B
、数据指针
DPTR
、位处理累加器
CY
等,也以
寄存器方式寻址
例如:MOV A,R0;
该指令的功能为将工作寄存器 R0 的内容送入累加器 A 中,其中的操作数 A、R0 都是寄存器寻址。
其执行过程如图
所示:
![](https://img-blog.csdnimg.cn/20200423215017675.png)
2.寄存器间接寻址
寻址空间:
内部 RAM(@R0、@R1、SP);
外部数据存储器(@R0、@R1、DPTR)。
指令所选中的寄存器内容是实际操作数的地址(而不是操作数本身),这种寻址方式称为寄存器间接
寻址。
当用
R0
、
R1
寄存器间接寻址之前,需要有一个确定的寄存器间接寻址区,并且各个寄存器均是
有操作数地址的。
寄存器间接寻址是指将指令指定的寄存器内容作为操作数所在的地址,对该地址单元中的内容进行
操作的寻址方式。51单片机
规定,使用
R0
和
R1
作为间接寻址寄存器,对于51
系列单片机,
可寻址内部
RAM
中地址从
00H
~
7FH
的