搜档网
当前位置:搜档网 › 单片机第3章汇总

单片机第3章汇总

单片机第3章汇总
单片机第3章汇总

1. 什么是指令?

指令是指示CPU完成一定操作的命令。

2. 指令的2种表示方式

1)对人:用有意义的符号(助记符)表示,称为汇编指令。2)对CPU:二进制数表示,称为机器码。

3. AT89S51单片机指令系统概况

1)使用MCS-51指令系统,共111条

2)指令分类

按机器码字节分,分三种:

(1)单字节指令49条;

(2)双字节指令45条;

(3)三字节指令17条。

按执行时间来分,分三种:

(1)1个机器周期的指令64条;

(2)2个机器周期指令45条;

(3)4个机器周期——如乘法指令

二、指令格式

1)指令格式:指令的表示规则。

2)汇编指令的基本格式:由操作码和操作数构成。

操作码——指令进行什么操作(必有)

操作数——指令操作的数据

①操作数分为:

源操作数:被操作的数据

目的操作数:数据操作后存储的目的地

②操作数可以为没有、1个、2个或多个,由操作码决定。

③多个操作数用逗号间隔,目的操作数在前。

例:MOV A,#00000011B

MOV:一种操作码,表示数据传送操作。

#00000011B:源操作数

A:目的操作数

3)机器码指令基本格式

每条机器码指令由若干字节构成:

(1)单字节:操作码和操作数用一个字节二进制数表示。

例:ADD A, R1

00101001 (29H)

(2)双字节:一个字节为操作码,另一个字节是操作数。

例:MOV A,#00000011B

01110100 (74H)

00000011 (03H)

(3)三字节:操作码占一个字节,操作数占二个字节。

(一)什么是寻址方式?

是指令中指明操作数的具体方式。

例MOV A, R1

(二)7种寻址方式

1.寄存器寻址方式

以寄存器符号指明操作数为寄存器的内容(寄存器中存储的数据)。

例如:MOV A,R n;(R n)→A,n =0~7

寄存器寻址方式中可以使用哪些寄存器符号?

1)通用工作寄存:R0~R7,共4组

2)部分特殊功能寄存器,产用的如如累加器A、寄存器B以及数据指针寄存器DPTR。

适用情况:指令中指明可使用的寄存器符号。

(二)7种寻址方式

2.直接寻址方式

以地址指明操作数为该地址指明的存储单元中存储的内容(简称该地址中的内容)。

例如:MOV A,40H ;(40H)→A

适用情况:指令表示中“direct”指示用直接寻址方式。

例如:MOV A,direct

例如:MOV direct1,direct2

MOV 42H,62H ;(62H)→42H

直接寻址方式可以使用哪些地址?

1)片内RAM中128个单元的地址,00H-7FH

2)特殊功能寄存器地址,可用寄存器符号代替,例如PSW寄存器地址D0H用PSW代替

例MOV 0D0H,40H 即MOV PSW,40H

3.寄存器间接寻址方式

以“@寄存器符号”指明以寄存器中的内容作为数据存储器地址,该地址中的内容为操作数。例如:MOV A,@R0 ;( (R0) )→A

适用情况:指令表示中“@寄存器符号” 指示用寄存器间接寻址方式。

例如:MOV A,@Ri ;i=0或1 ( (Ri) )→A

4.立即数寻址方式

以“#数据”指示操作数为#后面的数据。

例如:MOV A,#40H ;40H→A

#后的数据称为立即数(操作数直接在指令中给出)

适用情况:指令表示中“#data”或“#data16”指示用立即数寻址方式。

例如:MOV A,#data ;data→A

注意:立即数是常数,与指令一起存放在程序存储器中,第一个字节是操作码,第二字节是立即数。

5.基址寄存器加变址寄存器间址寻址方式

以@A+DPTR或@A+PC指明

以2个寄存器的内容相加后的值作为程序存储器地址,该地址中的内容作为操作数。

适用情况:能使用本寻址方式的指令有3条:

MOVC A,@A+DPTR

MOVC A,@A+PC 基址寄存器:DPTR、PC

变址寄存器: A

JMP A,@A+DPTR

例:(A)=05H,(DPTR)=0400H

MOVC A,@A+DPTR ;(0405H)→A

6.相对寻址方式

7.位寻址方式:

以位地址指示操作数为位地址中的内容。

例如:MOV C,40H ;(40H)→C

适用情况:指令表示中“bit ” 指示用位寻址方式

例如MOV C,bit

可以使用哪些位地址?

位寻址的常用表示方法:

1)直接使用位地址:00H~FFH

2)位名称的表方法例如:RS0、RS1

3)字节地址加数据的表示方法例如:0D0H.3 PSW.3

(三)掌握寻址方式的目的

使用指令时,能够正确使用寻址方式来指明操作数。

(四)如何选择寻址方式?

每条指令适用一定的寻址方式。

例指令:源操作数寻址方式:

MOV A,R n 寄存器寻址

MOV A,direct 直接寻址

MOV A,@Ri 寄存器间距寻址

MOV A,#data 立即数寻址

MOVC A,@A+DPTR 基址寄存器加变址寄存器间址寻址

MOV C,bit 位寻址

四、AT89S51指令系统分类介绍

1. 共111条指令,按功能分为五类:(1)数据传送类(28条)

(2)算术运算类(24条)

(3)逻辑操作类(25条)

(4)控制转移类(17条)

(5)位操作类(17条)

2. 描述指令格式和作用的符号P47

相关主题