1、 第三章 MCS-51的指令系统3.1 指令系统概述3.2 指令系统的寻址方式3.3 MCS-51指令系统分类介绍3.1 指令系统概述首先应该明确一个概念,什么是指令系统。我们把 MCS-51单片机所能执行的指令的集合称为其指令系统。指令的表示方法称为指令格式,一条指令通常由两部分组成,即操作码和操作数。 操作码 操作数指令的性质指令操作的对象当然操作数并不一定是一个具体的数据,也有可能仅指出到哪里取得数据的地址或符号。MCS-51的基本指令共 111条,下面是指令系统按空间和时间上的划分: 从上表我们可以看出,绝大多数指令占用单字节或双字节,并且都能在 1-2个机器周期 内完成。由此可见,
2、MCS-51指令系统对存储空间和时间的利用率较高。 3.2 MCS-51指令系统的寻址方式 所谓寻址就是寻找确定参与操作的数的真正地址。一般来说,寻址方式越多则计算机的功能就越强,灵活性亦越大,指令系统也就越复杂。MCS-51单片机的指令系统共有 7种寻址方式。 3.2.1 符号注释 在描述 MCS-51指令系统的功能时,我们经常使用下面符号,其意义如下: Rn( n 0-7) 当前选中的寄存器区的 8个工作寄存器 R0-R7Ri ( i=0、 1) 当前选中的寄存器区中可作地址寄存器的 2个寄存器 R0、 R1。Direct直接地址,即 8位的内部数据存储器单元或特殊功能寄存器的地址。 #d
3、ata 指令中的 8位常数 #data16 指令中的 16位常数 Rel 8位的有符号偏移量。用于 SJMP或所有的条件转移指令中。偏移量按相对于下一条指令的第一个字节地址与跳转后指令的第一个字节地址之差计算,在 128 127范围内取值。 DPTR 数据指针,可用作 16位的地址寄存器 Bit内部 RAM或特殊功能寄存器中的直接寻址位地址间址寄存器或基址寄存器的前缀。如 Ri, A+DPTR ( X) X中的内容( X) 由 X寻址的单元中的内容 Cy进位标志或进位位,也可作为位处理机中的 1位累加器。 / 位操作数的前缀,表示对该位操作数取反,如 /bit。3.2.2 寻址方式 1 、 立即寻址 2 、 直接寻址3 、 寄存器寻址4 、 寄存器间接寻址5 、 变址寻址 6 、 相对寻址 7 、 位寻址立即寻址指令中直接给出操作数。立即操作数用前面加有 #号的 8位或 16位数来表示。 8位立即操作数占一个字节 , 16位立即操作数占二个字节。例如:MOV A, # 60H ; A#60H MOV DPTR, # 3400H DPTR#3400HMOV 30H, # 40H; (30H)#40H 指令代码分别为:74H 60H90H 34H 00H 75H 30H 40H