第三章MCS-51单片机指令系统课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第三章MCS-51单片机指令系统课件.ppt》由会员分享,可在线阅读,更多相关《第三章MCS-51单片机指令系统课件.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章第三章第三章 MCS-51MCS-51单片机指令系统单片机指令系统单片机指令系统单片机指令系统 13-1 汇编语言汇编语言一、指令系统一、指令系统指令:是CPU能够识别并指挥计算机执行某种操作的命令。指令系统:CPU所有指令的集合,称为该计算机的指令系统。2二、汇编语言二、汇编语言 (参见参见P97)编写程序时使用的程序设计语言有编写程序时使用的程序设计语言有3种:机器语种:机器语言、汇编语言和高级语言。言、汇编语言和高级语言。机机器器语语言言:用用二二进进制制代代码码表表示示,故故又又称称指指令令代代码码或或机机器器代代码码(机机器器码码),机机器器语语言言是是计计算算机机本本身
2、身固固有有的的软软件件,能能被主机直接识别并加以分析和执行之。被主机直接识别并加以分析和执行之。缺点:不易阅读、不便于记忆、编程烦难且易出错。缺点:不易阅读、不便于记忆、编程烦难且易出错。汇编语言汇编语言:助记符:助记符用以反映指令的功能和主要特征,用它来代替机器指令,用以反映指令的功能和主要特征,用它来代替机器指令,便于人们对指令的理解和记忆。便于人们对指令的理解和记忆。3n例:例:要将一个立即数要将一个立即数80H送入累加器送入累加器A,其指令为:其指令为:机器码:机器码:74H80H汇编语言:汇编语言:MOVA,#80Hn汇编:汇编语言汇编:汇编语言机器语言机器语言n反汇编:机器语言反汇
3、编:机器语言汇编语言汇编语言41.机器码指令机器码指令(P60)以以8位位二二进进制制数数(字字节节)为为基基础础,分分单单字字节节、双双字字节节和和三三字字节指令。其格式为:节指令。其格式为:单字节指令:单字节指令:双字节指令:双字节指令:三字节指令:三字节指令:2汇编语言格式汇编语言格式(P99)标号标号:操作码操作码操作数操作数1,操作数操作数2,操作数操作数3;注释注释只有操作码是必须的只有操作码是必须的操作码操作码地址码地址码操作码操作码地址码地址码数据或地址码数据或地址码操作码操作码数据或地址码数据或地址码数据或地址码数据或地址码5n标号标号:可无,由用户定义,根据需要设置。以字母
4、开始,后面:可无,由用户定义,根据需要设置。以字母开始,后面加加07个字母或数字,并允许有一个下划线;另外,系个字母或数字,并允许有一个下划线;另外,系统保留使用的字符或字符组不能用作标号。统保留使用的字符或字符组不能用作标号。标号标号代表该指令所在的地址(符号地址)代表该指令所在的地址(符号地址),可作为其它指可作为其它指令的操作数,与操作码之间用令的操作数,与操作码之间用“:”分隔。分隔。n操作码操作码:决定:决定(命令命令)主机做何操作。主机做何操作。25个字母或数字个字母或数字,用助记用助记符表示,一般为英语单词的缩写。符表示,一般为英语单词的缩写。n操作数操作数:03个,中间用个,中
5、间用“,”隔开,是指令操作的对象,分目隔开,是指令操作的对象,分目的操作数和源操作数。的操作数和源操作数。操作码和操作数是指令的核心部分,二者之间操作码和操作数是指令的核心部分,二者之间需用空需用空格分离格分离。n注释注释:对指令或程序的解释,可有可无,其作用是便于阅读对指令或程序的解释,可有可无,其作用是便于阅读理解程序。注释必须以理解程序。注释必须以“;”开始。开始。63伪指令伪指令(P100)用用于于提提供供汇汇编编控控制制信信息息,可可以以定定义义程程序序段段的的首首地地址址、变量、参数、表格等。变量、参数、表格等。不是不是CPU能执行的指令,为汇编程序所识别并指导能执行的指令,为汇编
6、程序所识别并指导汇编如何进行。汇编如何进行。7定位伪指令定位伪指令(起始地址伪指令)(起始地址伪指令)n格式:格式:ORGaddr16n作作用用:指指出出该该伪伪指指令令后后面面的的程程序序编编译译后后的的机机器器码码指令存贮地址的起始值指令存贮地址的起始值addr16。定义字节常数伪指令定义字节常数伪指令n格式:格式:DBX1,X2,X3,Xnn作用:定义一个常数表(作用:定义一个常数表(8bit););Xi为单字节数据,为单字节数据,也可以是单引号括起来的字符串也可以是单引号括起来的字符串,还可以是用户还可以是用户定义的数据符号。定义的数据符号。8例例:ORG1000HDB30H,31H,
7、32H,33HDB4,5,0011B结果:结果:地址地址1000H 1001H 1002H 1003H 1004H 1005H 1006H 数据数据 30H 31H32H33H 34H03H35H 9定义字伪指令定义字伪指令n格式:格式:DWY1,Y2,Y3,Ymn作用:定义一个常数表(作用:定义一个常数表(16bit),),Yi为双字节数据为双字节数据例:例:ORG 1000H DW1122H,5566H,30H 依依出出现现的的先先后后顺顺序序存存,高高位位 存低地址单元,低位存高地址单元存低地址单元,低位存高地址单元(先存高八位,后存低八位)(先存高八位,后存低八位)结果结果:1000H
8、 1001H 1002H 1003H 1004H 1005H 11H00H22H 66H55H30H10位定义伪指令位定义伪指令(BIT)格式:格式:X BIT 位地址位地址 其中,位地址可以是绝对地址,也可以是符号地址。其中,位地址可以是绝对地址,也可以是符号地址。例:例:ABC BIT P0.6 ;把把P0.6位地址赋值给位地址赋值给ABC 即:在后面的编程中,即:在后面的编程中,ABC即可作为位地址即可作为位地址P3.1使用。使用。11等效伪指令等效伪指令格式:格式:XEQUY作用:将作用:将X与与Y等效,便于阅读和修改程序。等效,便于阅读和修改程序。X为代号,以字母开头,为代号,以字母
9、开头,18个字符,个字符,Y为地址或立即数。为地址或立即数。n例例:定义一个单元:定义一个单元K=35H,则:则:KEQU35H1)MOVA,K;等价于等价于MOVA,35H;实现的功能是实现的功能是A(35H)此处此处K表示内部表示内部RAM中中35H字节字节单元单元(K代表地址代表地址)2)MOV C,K ;等价于等价于MOV C,35H ;实现的功能是实现的功能是C(35H位)位)此处此处K表示内部表示内部RAM中中35H位位单元单元(K代表地址代表地址)12有些汇编系统定义参数也采用以下有些汇编系统定义参数也采用以下形式:形式:例:例:CODEEQU45HMOVA,#CODE等价于等价
10、于MOVA,#45H(6)汇编结束伪指令汇编结束伪指令n格式:格式:ENDn作用:通知汇编程序需汇编的源程序到此结束,汇编作用:通知汇编程序需汇编的源程序到此结束,汇编程序对程序对END后的所有语句均不汇编。汇编语言程序的后的所有语句均不汇编。汇编语言程序的最后一句必须是最后一句必须是END,一个程序中只允许出现一条一个程序中只允许出现一条END语句。语句。13三、数据形式三、数据形式 二进制数二进制数:0、1表示表示,后带后带字母字母B,例:例:10101100B十进制数十进制数:09组成,后什么都组成,后什么都不带或带不带或带D,例:例:37十六进制数十六进制数:0F组成,后带组成,后带字
11、母字母H,例:例:2AH立即数立即数:“#”开头开头,后跟数值,后跟数值,例:例:23,12H行标号行标号:对应程序空间的:对应程序空间的16位地址,汇编时翻译成相位地址,汇编时翻译成相应的数据(即:地址),可直接用于程序中应的数据(即:地址),可直接用于程序中SFR符号符号:可作为直接地址用于程序:可作为直接地址用于程序例:例:MOVA,#01H等价于等价于MOV0E0H,#01H;因为因为A的地址是的地址是;0E0H143-2 寻址方式寻址方式(P54)定义定义:数据、指令代码在存贮器中存放的位置称为数据、指令代码在存贮器中存放的位置称为地址地址。存放指令代码的地址称为存放指令代码的地址称
12、为指令地址指令地址。存放数据的地址称为存放数据的地址称为操作数地址操作数地址。把寻找操作数地址的方式称为把寻找操作数地址的方式称为寻址方式寻址方式。寻找操作数地址的过程称为寻找操作数地址的过程称为寻址过程寻址过程。15一、立即寻址一、立即寻址n立立即即寻寻址址方方式式是是指指令令直直接接给给出出操操作作数数来来寻寻址址的的。(操操作作数数包包含含在在指指令令中中,即即以以指指令令字字节节形形式式存存放放在在程程序序存存贮贮器器中)中)n通常紧跟指令操作码之后的一个或二个字节数,就是寻通常紧跟指令操作码之后的一个或二个字节数,就是寻址所需的操作数。址所需的操作数。n“#”为立即数指令符号为立即数
13、指令符号n例如例如:指令:指令:MOVA,#70H(机器码机器码)双字节:双字节:74H70H操作码操作码操作数操作数另另:立即寻址还可用于寻址程序存储器:立即寻址还可用于寻址程序存储器例:例:LJMP1000H即:操作数直接在指令中给出即:操作数直接在指令中给出16二、直接寻址二、直接寻址 n直直接接寻寻址址方方式式是是指指令令直直接接给给出出操操作作数数地地址址。(该该地地址址指指出出了参与运算或传送的数据所在的字节或位单元的地址了参与运算或传送的数据所在的字节或位单元的地址)n直接寻址方式可直接寻址方式可访问以下三种地址空间访问以下三种地址空间:(1)特特殊殊功功能能寄寄存存器器地地址址
14、空空间间,这这是是唯唯一一能能访访问问SFR的的寻址方式寻址方式。(2)内部数据存贮器(内部数据存贮器(RAM)的低的低128字节。字节。(3)位地址空间(此时也可称为位寻址)。位地址空间(此时也可称为位寻址)。例:例:指令:指令:MOVA,65H;A(65H)机器码:机器码:E5H65H操作码操作码直接地址直接地址执行结果为将内部执行结果为将内部RAM65H单元单元的内容送的内容送A即:操作数在指令给出的地址单元中即:操作数在指令给出的地址单元中17三、寄存器寻址三、寄存器寻址 n寄寄存存器器寻寻址址是是对对指指定定的的工工作作寄寄存存器器(R0R7)进进行行读读/写写,由由指指令令操操作作
15、码码字字节节的的最最低低3位位指指明明所所寻寻址址的的工工作作寄寄存存器器。(对对A,B,DPTR,Cy等等,也也可可当当作作寄寄存存器器方方式式寻址)寻址)n例:例:INCR0;(;(R0)+1R0机器码:机器码:08H00001000B指明所用寄存器为指明所用寄存器为R0即:操作数在指定的寄存器中即:操作数在指定的寄存器中18四、寄存器四、寄存器间接间接寻址寻址n寄寄存存器器间间址址是是把把指指定定的的寄寄存存器器内内容容作作为为地地址址,由由该该地地址址所指定的单元内容作为操作数所指定的单元内容作为操作数。nMCS-51规定可作为间接寻址的寄存器有:规定可作为间接寻址的寄存器有:1)R0
16、或或R1,用于寻址内部用于寻址内部RAM低低128字节单元的内容。字节单元的内容。(以及外扩(以及外扩RAM的部分单元)的部分单元)2)数据指针数据指针DPTR,用于寻址外部数据用于寻址外部数据RAM的的64K字节字节空间空间注注:不能用本寻址方法寻址特殊功能寄存器。:不能用本寻址方法寻址特殊功能寄存器。n间址用符号间址用符号表示。表示。n例:例:MOVA,R0机器码:机器码:E6H即:操作数在寄存器中数据(地址)指向的存储单元内即:操作数在寄存器中数据(地址)指向的存储单元内19五、相对寻址五、相对寻址 n这与典型微计算机的相对寻址相似。这与典型微计算机的相对寻址相似。n它它以以PC的的当当
17、前前值值为为基基准准,加加上上指指令令中中给给出出的的相相对对偏偏移移量量(rel)形形成成有有效效转转移移地地址址。相相对对偏偏移移量量(rel)是是一一个个带带符符号号的的8位位二二进进制制数数,常常以以补补码码的的形形式式出出现现。因因此此,程程序序的的转转移移范范围围为为:以以PC的的当当前前值值为为起起始始地地址址。相相对对偏偏移移在在128+127个字节单元之间。个字节单元之间。例例:JCrel设设rel=75H,Cy=1,本指令地址为本指令地址为2000H则:执行后,则:执行后,PC=2002H+75H=2077H(本条指令的机器码为两个字节)本条指令的机器码为两个字节)n偏移量
18、偏移量rel:有:有符号数符号数128+127n相对寻址只适用于对相对寻址只适用于对程序存储器程序存储器的访问,转移指令多采用的访问,转移指令多采用这种寻址方式。这种寻址方式。20六、基寄存器加变址寄存器间接寻址六、基寄存器加变址寄存器间接寻址 (又称为变址寻址)(又称为变址寻址)n该寻址方式为该寻址方式为MCS-51所独特的。所独特的。n它它是是以以程程序序计计数数器器PC或或数数据据指指针针DPTR作作为为基基址址寄寄存存器器,以以累累加加器器A作作为为变变址址寄寄存存器器,这这二二者者内内容容之之和和为为有有效效地地址(址(16位)。位)。n共三条:共三条:MOVCA,A+PC;(A)+
19、(PC)AMOVCA,A+DPTR;(A)+(DPTR)AJMPA+DPTR;(A)+(DPTR)PCn专用于寻址专用于寻址程序存贮器程序存贮器,都是单字节指令。,都是单字节指令。21七位寻址七位寻址8051有位处理功能,可以对数据位进行操作,因有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。此就有相应的位寻址方式。位寻址的位寻址的寻址范围寻址范围:(1)片内数据存储器中的位寻址区片内数据存储器中的位寻址区 片片内内数数据据存存储储器器中中的的字字节节单单元元地地址址20H2FH,16个个单单元元共共128位位,为为位位寻寻址址区区,位位地地址址是是00H7FH。对这对这128个
20、位的寻址使用直接位地址表示。个位的寻址使用直接位地址表示。(2)可位寻址的特殊功能寄存器位可位寻址的特殊功能寄存器位 可可供供位位寻寻址址的的特特殊殊功功能能寄寄存存器器共共有有11个个,有有寻寻址址位位83位。位。22寻址位寻址位在指令中有以下在指令中有以下4种表示方法种表示方法:直接使用位地址表示方法。例如直接使用位地址表示方法。例如12H 字字节节单单元元地地址址加加位位数数的的表表示示方方法法。例例如如 88H单单元元的的位位5,则表示为,则表示为88H.5。特特殊殊功功能能寄寄存存器器符符号号加加位位的的表表示示方方法法,例例如如 PSW寄寄存器的位存器的位5,可表示为:为,可表示为
21、:为 PSW.5。位位名名称称表表示示方方法法,特特殊殊功功能能寄寄存存器器中中的的一一些些寻寻址址位位是是有有名名称称的的,例例如如 PSW寄寄存存器器位位5为为F0标标志志位位,则则可可使用使用F0表示该位。表示该位。23说明:说明:指令中多个操作数的寻址方式未必相同指令中多个操作数的寻址方式未必相同 7种寻址方式概括起来如下表所列种寻址方式概括起来如下表所列:24表表 31 31 寻址方式与寻址空间寻址方式与寻址空间 寻寻 址址 方方 式式 寻寻 址址 空空 间间1寄存器寻址寄存器寻址R0R7、A、B、CY(bit)、DPTR2直接寻址直接寻址内部内部RAM低低128字节字节特殊功能寄存
22、器特殊功能寄存器3寄寄存存器器间间接接寻址寻址内部内部RAM:R0,R1,SP(仅(仅PUSH、POP)外部外部RAM(R0,R1,DPTR)4立即寻址立即寻址程序存储器程序存储器5变址寻址变址寻址程序存储器(程序存储器(A+PC,A+DPTR)6相对寻址相对寻址程序存储器程序存储器(PC偏移量偏移量)7位寻址位寻址内部数据存储器中有内部数据存储器中有128个可寻址位个可寻址位特殊功能寄存器中可位寻址的位特殊功能寄存器中可位寻址的位25注:注:1.1.对程序存储器对程序存储器,只有,只有3 3种寻址方式、种寻址方式、1 1种操作,即:种操作,即:n1)1)立即寻址;立即寻址;2)2)相对寻址相
23、对寻址 3)3)变址寻址:变址寻址:MOVC A,A+PCMOVC A,A+PC;MOVC A,A+DPTRMOVC A,A+DPTRn读操作读操作2.2.外部外部RAM 00HRAM 00H0FFH0FFHn只能用只能用R0,R1,DPTRR0,R1,DPTR间接寻址间接寻址n有两种操作,读:有两种操作,读:MOVX A,R0/R1/DPTRMOVX A,R0/R1/DPTR 写:写:MOVX R0/R1/DPTR,AMOVX R0/R1/DPTR,A3.3.外部外部RAM 0100HRAM 0100HFFFFHFFFFH多数用多数用DPTRDPTR寻址寻址有两种操作:读、写有两种操作:读、
24、写263-3 指令系统指令系统(P61)nMCS-51指令系统共指令系统共111条。条。49条单字节条单字节64条条1个机器周期(即个机器周期(即12个振荡周期)个振荡周期)45条双字节条双字节45条条2个机器周期个机器周期17条三字节条三字节2条条4个机器周期(乘、除法)个机器周期(乘、除法)n7种寻址方式。种寻址方式。n说明说明33种操作功能。种操作功能。n按功能分五类:按功能分五类:数据传送数据传送29算术运算算术运算24逻辑运算逻辑运算24位操作位操作17(12)控制转移控制转移17(22)27指令中用到的符号:指令中用到的符号:nRnR0R7;当当前前选选定定工工作作寄寄存存器器组组
25、的的R0R7工工作寄存器(作寄存器(n=07)nRiR0,R1;用用于于Ri,以以工工作作寄寄存存器器R0或或R1作作间间接寻址寄存器(接寻址寄存器(i=0,1),以间接寻址相应的单元。以间接寻址相应的单元。nDirect8位位直直接接地地址址;直直接接寻寻址址方方式式时时,用用以以表表示内部示内部RAM或特殊功能寄存器的直接地址。或特殊功能寄存器的直接地址。n#data8位立即数;指令中出现的位立即数;指令中出现的8位立即常数。位立即常数。n#data1616位位立立即即数数;指指令令中中出出现现的的16位位立立即即常数。常数。28nAddr1616位位地地址址;供供LCALL或或LJMP指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 MCS 51 单片机 指令系统 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内