单片机原理与接口技术(第3版)-第3章指令系统及汇编程序设计.pptPPT资料.pptx
《单片机原理与接口技术(第3版)-第3章指令系统及汇编程序设计.pptPPT资料.pptx》由会员分享,可在线阅读,更多相关《单片机原理与接口技术(第3版)-第3章指令系统及汇编程序设计.pptPPT资料.pptx(144页珍藏版)》请在冰豆网上搜索。
MOVP1,#5BH,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,5,-指令的两种格式,3.1指令系统简介,-MCS-51汇编语言指令格式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,6,操作码操作数1,操作数2;
注释MCS-51单片机的汇编语言使用40多种助记符表征30多种指令功能。
MCS-51单片机能够识别并执行的指令共有111条。
这111条指令,构成了MCS-51单片机的指令系统。
3.1指令系统简介,-特点,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,7,指令执行时间短。
只需1个机器周期的指令有64条,2个机器周期的指令有45条,而4个机器周期的指令仅有2条(既乘法和除法指令)。
指令字节少。
单字节指令有49条,双字节指令有46条,三字节指令有16条。
位操作指令极为丰富,这体现了MCS-51单片机具有面向控制的特点。
3.1指令系统简介,3.1.1指令系统的分类,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,8,MCS-51单片机能够识别并执行的指令共有111条。
按指令所占字节数、指令执行时间和指令功能进行分类。
按指令所占字节数分类单字节指令(49条)双字节指令(46条)三字节指令(16条),-按指令所占存储空间分类,按指令执行时间分类单周期指令(64条)双周期指令(45条)四周期指令(2条),单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,9,3.1.1指令系统的分类,-按指令执行时间可分类,返回目录,单片(机原1理7与条接口)技术(第3版).李晓林.电子工业出版社,3.1.1指令系统的分类,-按指令功能分类,按指令功能分类数据传送类指令(29条)算术运算类指令(24条)逻辑运算类指令(24条)控制转移类指令,10/14/2019,10,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,3.1.2指令格式,指令由操作码和操作数组成。
操作码用来规定要执行的操作的性质,操作数为指令的操作提供数据和地址。
1指令的基本格式符号地址:
操作码操作数1,操作数2,,操作数3,;
注释其中符号地址和操作码之间用“:
”作为分,隔符,也可再加上若干空格。
操作码和操作数之间用空格作为分隔符。
操作数之间用“,”作为分隔符。
注释之前用“;
”作为分隔符。
-基本格式,10/14/2019,11,一条指令必须在一行中写完。
例如:
MAIN:
MOVA,#10H;
主程序段MAIN为符号地址;
MOV为操作码;
A、#10H为二个操作数;
最后是注释。
指令在送入计算机执行之前,必须先转换成机器语言形式。
转换成机器语言的,单过片程机原称理与为接口汇技编术(第,3版汇).李编晓林有.电机子工器业出汇版社编和手工返回汇目录编,3.1.2指令格式,-基本格式,10/14/2019,12,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,3.1.2指令格式,机器语言是用二进制代码表示的。
对一条指令进行二进制编码,可以是单字节或多字节的,按照它们占用的存储空间多少形成了下面3种编码格式。
单字节指令:
单字节指令指的是该指令占用1个字节的存储单元。
双字节指令:
双字节指令指的是该指令占用2个字节的存储单元。
三字节指令:
三字节指令指的是该指令占用3个字节的存储单元。
-指令的编码格式,10/14/2019,13,3.1.3指令中的常用符号,为了便于阅读指令,MCS-51指令助记符中的一些常用符号约定如下。
Rn:
表示当前工作寄存器R0R7中的,一个。
Ri:
表示寄存器间接寻址,常作间接,寻址的地址指针。
其中Ri代表R0和R1寄存器中的一个。
direct:
表示内部数据存贮器单元的地址,10/14/2019,单片及机原特理与殊接功口技能术(寄第3版存).李器晓林S.F电R子工的业地出版址社,对S返F回R目而录言,14,#data:
表示8位立即数,即8位常数,取值范围为#00H#0FFH。
#data16:
表示16位立即数,即16位常数,取值范围为#0000H#0FFFFH。
addr16:
表示16位地址。
addr11:
表示11位地址。
rel:
用补码形式表示的地址偏移量,取值范围为-128+127。
bit:
表示内部RAM和SFR中的具有位寻址功能的位地址。
单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,15,3.1.3指令中的常用符号,:
表示间接寻址寄存器或基址寄存器的前缀符号。
$:
表示当前指令的地址。
/:
位操作数的前缀,表示对该位操作数取反,如:
/bit。
(x):
表示存储单元x的内容。
表示以寄存器或存储单元x的内容作为地址的存储单元的内容。
:
表示数据传送方向。
单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,16,3.1.3指令中的常用符号,3.1.4寻址方式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,17,如何找到参与运算的操作数据或数据所在的地址称为寻址方式。
所以寻址方式是在地址范围内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。
1.立即寻址立即寻址是将操作数直接写在指令中,作为指令的一部分存放在代码段里,位置在程序存储器中。
立即寻址中的操作数,称为立即数。
MOVA,#30H;
30HA,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,18,3.1.4寻址方式,-立即寻址,2.直接寻址直接寻址是将操作数的地址直接存放在指令中。
这种寻址方式的操作数指的是内部数据存储器中存放数据的地址,或存放数据的一个特殊功能寄存器地址。
MOVA,30H;
(30H)A,3.1.4寻址方式,-直接寻址,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,19,直接寻址方式可访问的范围特殊功能寄存器这部分存储单元既可以用单元地址给出,也可以用寄存器符号的形式给出。
如:
MOVA,90H或MOVA,P1为同一条指令的两种写法(特殊功能寄存器只能用直接寻址方式访问)。
内部数据存储器的低128个字节单元直接以单元地址的形式给出对于8032/8052等单片机,其内部高128字节RAM(80HFFH)不能用直接寻址方式访问。
单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,20,3.1.4寻址方式,-访问范围,3.1.4寻址方式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,21,-访问范围,直接寻址方式可访问的范围位地址空间片内RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。
在一些程序控制指令中,可采用直接寻址方式提供程序转移的目标地址。
-寄存器寻址,3.1.4寻址方式,3.寄存器寻址寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。
MOVA,R5,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,22,寄存器寻址方式的寻址范围:
4个工作寄存器组共32个通用寄存器(在指令中只能使用当前寄存器组)部分特殊功能寄存器。
如A,B,DPTR。
-寄存器寻址,3.1.4寻址方式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,23,-寄存器寻址,4.寄存器间接寻址寄存器间接寻址是指操作数据存放在以寄存器内容为地址的单元中。
MOVA,R0;
(R0)A指令功能为将R0所指出的内部RAM单元内容送入累加器A中,执行过程如图所示。
图中设R0=60H。
3.1.4寻址方式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,24,寄存器间接寻址的寻址范围:
内部低128字节单元(只能使用R0、R1作间址寄存器)。
外部数据存储器(64KB字节,使用DPTR作间址寄存器。
另外,外部低128B单元也可用R0、R1作间址寄存器寻址)。
在堆栈操作指令(PUSH、POP)中,以堆栈指针SP作间址寄存器,寻址空间为片内RAM。
单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,25,3.1.4寻址方式,-寻址范围,-基址变址寻址,3.1.4寻址方式,5.基址变址寻址基址变址寻址是指操作数存放在以变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。
其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。
基址加变址寻址方式常用于查表操作。
MOVCA,A+PC;
PC+1PC,(A+PC)AMOVCA,A+DPTR;
(A+DPTR)A,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,26,-相对寻址,3.1.4寻址方式,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,27,6.相对寻址相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。
JC80H;
C=1则跳转,-位寻址,单片机原理与接口技术(第3版).李晓林.电子工业出版社,返回目录,10/14/2019,28,3.1.4寻址方式,7.位寻址位寻址是指对片内RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。
MOVC,20H此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器Cy。
位寻址指令不同于字节地址寻址指令,例如:
MOVA,20H,-位寻址的表示形式,单片机原理与接口技