第3章_MCS-51单片机指系统.ppt
返回目录单片机原理与应用单片机原理与应用第第3章章 MCS-51单片机单片机指令系统指令系统12/24/20221返回目录本章教学要求本章教学要求n n熟悉熟悉熟悉熟悉MCS-51MCS-51单片机指令系统的分类、格式;单片机指令系统的分类、格式;单片机指令系统的分类、格式;单片机指令系统的分类、格式;n n熟悉熟悉熟悉熟悉MCS-51MCS-51指令系统的七种寻址方式;指令系统的七种寻址方式;指令系统的七种寻址方式;指令系统的七种寻址方式;n n掌握掌握掌握掌握MCS-51MCS-51指令系统的数据传送、算术运算、逻指令系统的数据传送、算术运算、逻指令系统的数据传送、算术运算、逻指令系统的数据传送、算术运算、逻辑运算、转移操作、布尔运算等指令的功能;辑运算、转移操作、布尔运算等指令的功能;辑运算、转移操作、布尔运算等指令的功能;辑运算、转移操作、布尔运算等指令的功能;n n掌握掌握掌握掌握MCS-51MCS-51指令系统的各种指令对寄存器资源的指令系统的各种指令对寄存器资源的指令系统的各种指令对寄存器资源的指令系统的各种指令对寄存器资源的占用情况。占用情况。占用情况。占用情况。第第第第3 3章章章章 MCS-51 MCS-51单片机指令系统单片机指令系统单片机指令系统单片机指令系统12/24/20222返回目录本章目录本章目录3.1 3.1 指令系统简介指令系统简介指令系统简介指令系统简介3.1.1 3.1.1 指令系统的分类指令系统的分类指令系统的分类指令系统的分类3.1.2 3.1.2 指令格式指令格式指令格式指令格式3.1.3 3.1.3 指令中的常用符号指令中的常用符号指令中的常用符号指令中的常用符号3.1.4 3.1.4 寻址方式寻址方式寻址方式寻址方式第第第第3 3章章章章 MCS-51 MCS-51单片机指令系统单片机指令系统单片机指令系统单片机指令系统3.2 指令系统指令系统3.2.1 数据传送指令数据传送指令3.2.2 算术运算指令算术运算指令3.2.3 逻辑运算指令逻辑运算指令3.2.4 控制转移指令控制转移指令3.2.5 位操作指令位操作指令习题与思考题习题与思考题12/24/20223返回目录3.1 指令系统简介指令系统简介指令系统指令系统指令系统指令系统 计计计计算算算算机机机机所所所所有有有有指指指指令令令令的的的的集集集集合合合合,称称称称为为为为该该该该计计计计算算算算机机机机的的的的指指指指令令令令系系系系统统统统,它它它它是是是是表表表表征征征征计计计计算算算算机机机机性性性性能能能能的的的的重重重重要要要要标标标标志志志志。每每每每种种种种计计计计算算算算机机机机都都都都有有有有它它它它自自自自己己己己特特特特有有有有的的的的指指指指令令令令系系系系统统统统。指指指指令令令令是是是是指指指指计计计计算算算算机机机机执执执执行行行行某某某某种种种种操操操操作作作作(如传送数据、做算术运算等)的命令。(如传送数据、做算术运算等)的命令。(如传送数据、做算术运算等)的命令。(如传送数据、做算术运算等)的命令。-指令系统指令系统指令系统指令系统12/24/20224返回目录要让计算机工作,就得向计算机发出指令。要让计算机工作,就得向计算机发出指令。要让计算机工作,就得向计算机发出指令。要让计算机工作,就得向计算机发出指令。n n指令的格式是指令的格式是指令的格式是指令的格式是机器码指令格式机器码指令格式机器码指令格式机器码指令格式,如:如:如:如:11100101B 11100101B,即数字格式。,即数字格式。,即数字格式。,即数字格式。n n另一种指令格式,即另一种指令格式,即另一种指令格式,即另一种指令格式,即汇编指令格式汇编指令格式汇编指令格式汇编指令格式,如:如:如:如:MOV P1,#5BHMOV P1,#5BH-指令的两种格式指令的两种格式指令的两种格式指令的两种格式3.1 指令系统简介指令系统简介12/24/20225返回目录-MCS-51-MCS-51汇编语言指令格式汇编语言指令格式汇编语言指令格式汇编语言指令格式 标号段标号段标号段标号段:操作码段操作码段操作码段操作码段 操作数段操作数段操作数段操作数段 ;注释;注释;注释;注释段段段段 操作数操作数操作数操作数1 1,操作数,操作数,操作数,操作数22 MCS-51MCS-51单单单单片片片片机机机机能能能能够够够够识识识识别别别别并并并并执执执执行行行行的的的的指指指指令令令令共共共共有有有有111111条条条条。这这这这111111条条条条指指指指令令令令,构构构构成成成成了了了了MCS-51MCS-51单单单单片片片片机机机机的的的的指令系统指令系统指令系统指令系统。3.1 指令系统简介指令系统简介12/24/20226返回目录-特点特点特点特点1)1)指指指指令令令令执执执执行行行行时时时时间间间间短短短短。只只只只需需需需1 1个个个个机机机机器器器器周周周周期期期期的的的的指指指指令令令令有有有有6464条条条条,2 2个个个个机机机机器器器器周周周周期期期期的的的的指指指指令令令令有有有有4545条条条条,而而而而4 4个个个个机机机机器器器器周周周周期的指令仅有期的指令仅有期的指令仅有期的指令仅有2 2条(既乘法和除法指令)。条(既乘法和除法指令)。条(既乘法和除法指令)。条(既乘法和除法指令)。2)2)指指指指令令令令字字字字节节节节少少少少。单单单单字字字字节节节节指指指指令令令令有有有有4949条条条条,双双双双字字字字节节节节指指指指令令令令有有有有4646条,三字节指令有条,三字节指令有条,三字节指令有条,三字节指令有1616条。条。条。条。3)3)位位位位操操操操作作作作指指指指令令令令极极极极为为为为丰丰丰丰富富富富,这这这这体体体体现现现现了了了了MCS-51MCS-51单单单单片片片片机机机机具有面向控制的特点。具有面向控制的特点。具有面向控制的特点。具有面向控制的特点。3.1 指令系统简介指令系统简介12/24/20227返回目录3.1.1 指令系统的分类指令系统的分类 MCS-51MCS-51单单单单片片片片机机机机能能能能够够够够识识识识别别别别并并并并执执执执行行行行的的的的指指指指令令令令共共共共有有有有111111条条条条。按按按按指指指指令令令令所所所所占占占占字字字字节节节节数数数数、指指指指令令令令执执执执行行行行时时时时间间间间和和和和指指指指令令令令功功功功能能能能进进进进行分类。行分类。行分类。行分类。1 1按指令所占字节数分类按指令所占字节数分类按指令所占字节数分类按指令所占字节数分类 1)1)单字节指令(单字节指令(单字节指令(单字节指令(4949条)条)条)条)2)2)双字节指令(双字节指令(双字节指令(双字节指令(4646条)条)条)条)3)3)三字节指令(三字节指令(三字节指令(三字节指令(1616条)条)条)条)-按指令所占存储空间分类按指令所占存储空间分类按指令所占存储空间分类按指令所占存储空间分类12/24/20228返回目录2 2按指令执行时间分类按指令执行时间分类按指令执行时间分类按指令执行时间分类1)1)单周期指令(单周期指令(单周期指令(单周期指令(6565条)条)条)条)2)2)双周期指令(双周期指令(双周期指令(双周期指令(4444条)条)条)条)3)3)四周期指令(四周期指令(四周期指令(四周期指令(2 2条)条)条)条)3.1.1 指令系统的分类指令系统的分类-按指令执行时间可分类按指令执行时间可分类按指令执行时间可分类按指令执行时间可分类12/24/20229返回目录1)1)数据传送类指令(数据传送类指令(数据传送类指令(数据传送类指令(2929条)条)条)条)2)2)算术运算类指令(算术运算类指令(算术运算类指令(算术运算类指令(2424条)条)条)条)3)3)逻辑运算类指令(逻辑运算类指令(逻辑运算类指令(逻辑运算类指令(2424条)条)条)条)4)4)控制转移类指令(控制转移类指令(控制转移类指令(控制转移类指令(1717条)条)条)条)5)5)位操作类指令(位操作类指令(位操作类指令(位操作类指令(1717条)条)条)条)3.1.1 指令系统的分类指令系统的分类-按指令功能分类按指令功能分类按指令功能分类按指令功能分类3 3按指令功能分类按指令功能分类按指令功能分类按指令功能分类12/24/202210返回目录3.1.2 指令格式指令格式 指指指指令令令令由由由由操操操操作作作作码码码码和和和和操操操操作作作作数数数数组组组组成成成成。操操操操作作作作码码码码用用用用来来来来规规规规定定定定要要要要执执执执行行行行的的的的操操操操作作作作的的的的性性性性质质质质,操操操操作作作作数数数数为为为为指指指指令令令令的的的的操操操操作作作作提提提提供供供供数数数数据据据据和和和和地址。地址。地址。地址。1 1指令的基本格式指令的基本格式指令的基本格式指令的基本格式 符符符符号号号号地地地地址址址址:操操操操作作作作码码码码 操操操操作作作作数数数数1 1 ,操操操操作作作作数数数数2 2 ,操操操操作作作作数数数数3 3 ;注释;注释;注释;注释 其其其其中中中中符符符符号号号号地地地地址址址址和和和和操操操操作作作作码码码码之之之之间间间间用用用用“:”“:”作作作作为为为为分分分分隔隔隔隔符符符符,也也也也可可可可再再再再加加加加上上上上若若若若干干干干空空空空格格格格。操操操操作作作作码码码码和和和和操操操操作作作作数数数数之之之之间间间间用用用用空空空空格格格格作作作作为为为为分分分分隔隔隔隔符符符符。操操操操作作作作数数数数之之之之间间间间用用用用“,”作作作作为为为为分分分分隔隔隔隔符符符符。注注注注释释释释之之之之前用前用前用前用“;”作为分隔符。作为分隔符。作为分隔符。作为分隔符。-基本格式基本格式基本格式基本格式12/24/202211返回目录一条指令必须在一条指令必须在一条指令必须在一条指令必须在一行一行一行一行中写完。例如:中写完。例如:中写完。例如:中写完。例如:MAINMAIN:MOV AMOV A,#10H#10H ;主程序段;主程序段;主程序段;主程序段n nMAINMAIN为符号地址;为符号地址;为符号地址;为符号地址;n nMOVMOV为操作码;为操作码;为操作码;为操作码;n nA A、#10H#10H为二个操作数;为二个操作数;为二个操作数;为二个操作数;n n最后是注释。最后是注释。最后是注释。最后是注释。指指指指令令令令在在在在送送送送入入入入计计计计算算算算机机机机执执执执行行行行之之之之前前前前,必必必必须须须须先先先先转转转转换换换换成成成成机机机机器器器器语语语语言言言言形形形形式式式式。转转转转换换换换成成成成机机机机器器器器语语语语言言言言的的的的过过过过程程程程称称称称为为为为汇汇汇汇编编编编,汇编有汇编有汇编有汇编有机器汇编机器汇编机器汇编机器汇编和和和和手工汇编手工汇编手工汇编手工汇编两种方法。两种方法。两种方法。两种方法。3.1.2 指令格式指令格式-基本格式基本格式基本格式基本格式12/24/202212返回目录3.1.3 指令中的常用符号指令中的常用符号 为了便于阅读指令,为了便于阅读指令,为了便于阅读指令,为了便于阅读指令,MCS-51MCS-51指令助记符中的一些常用符号约定如下。指令助记符中的一些常用符号约定如下。指令助记符中的一些常用符号约定如下。指令助记符中的一些常用符号约定如下。n nRnRn:表示当前工作寄存器表示当前工作寄存器表示当前工作寄存器表示当前工作寄存器R0R0R7R7中的一个。中的一个。中的一个。中的一个。n nRiRi:表表表表示示示示寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址,常常常常作作作作间间间间接接接接寻寻寻寻址址址址的的的的地地地地址址址址指指指指针针针针。其中其中其中其中RiRi代表代表代表代表R0R0和和和和R1R1寄存器中的一个。寄存器中的一个。寄存器中的一个。寄存器中的一个。n nDPTRDPTR:表表表表示示示示以以以以DPTRDPTR为为为为数数数数据据据据指指指指针针针针的的的的间间间间接接接接寻寻寻寻址址址址,用用用用于于于于对对对对外外外外部部部部64KB64KB的的的的RAM/ROMRAM/ROM寻址。寻址。寻址。寻址。n ndirectdirect:表表表表示示示示内内内内部部部部数数数数据据据据存存存存贮贮贮贮器器器器单单单单元元元元的的的的地地地地址址址址及及及及特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器SFRSFR的的的的地地地地址址址址,对对对对SFRSFR而而而而言言言言,既既既既可可可可使使使使用用用用它它它它的的的的物物物物理理理理地地地地址址址址,也也也也可直接使用它的名字。可直接使用它的名字。可直接使用它的名字。可直接使用它的名字。12/24/202213返回目录n n#data#data:表表表表示示示示8 8位位位位立立立立即即即即数数数数,即即即即8 8位位位位常常常常数数数数,取取取取值值值值范范范范围围围围为为为为#00H#00H#0FFH#0FFH。n n#data16#data16:表表表表示示示示1616位位位位立立立立即即即即数数数数,即即即即1616位位位位常常常常数数数数,取取取取值值值值范围为范围为范围为范围为#0000H#0000H#0FFFFH#0FFFFH。n naddr16addr16:表示表示表示表示1616位地址。位地址。位地址。位地址。n naddr11addr11:表示表示表示表示1111位地址。位地址。位地址。位地址。n nrelrel:用用用用补补补补码码码码形形形形式式式式表表表表示示示示的的的的地地地地址址址址偏偏偏偏移移移移量量量量,取取取取值值值值范范范范围围围围为为为为-128-128+127+127。n nbitbit:表表表表示示示示内内内内部部部部RAMRAM和和和和SFRSFR中中中中的的的的具具具具有有有有位位位位寻寻寻寻址址址址功功功功能能能能的位地址。的位地址。的位地址。的位地址。3.1.3 指令中的常用符号指令中的常用符号12/24/202214返回目录n n:表表表表示示示示间间间间接接接接寻寻寻寻址址址址寄寄寄寄存存存存器器器器或或或或基基基基址址址址寄寄寄寄存存存存器器器器的的的的前前前前缀缀缀缀符号。符号。符号。符号。n n$:表示当前指令的地址。表示当前指令的地址。表示当前指令的地址。表示当前指令的地址。n n/:位位位位操操操操作作作作数数数数的的的的前前前前缀缀缀缀,表表表表示示示示对对对对该该该该位位位位操操操操作作作作数数数数取取取取反反反反,如:如:如:如:/bit/bit。n n(x)(x):表示存储单元表示存储单元表示存储单元表示存储单元x x的内容。的内容。的内容。的内容。n n(x)(x):表表表表示示示示以以以以寄寄寄寄存存存存器器器器或或或或存存存存储储储储单单单单元元元元x x的的的的内内内内容容容容作作作作为为为为地址的存储单元的内容。地址的存储单元的内容。地址的存储单元的内容。地址的存储单元的内容。n n:表示数据传送方向。表示数据传送方向。表示数据传送方向。表示数据传送方向。3.1.3 指令中的常用符号指令中的常用符号12/24/202215返回目录3.1.4 寻址方式寻址方式 如如如如何何何何找找找找到到到到参参参参与与与与运运运运算算算算的的的的操操操操作作作作数数数数据据据据或或或或数数数数据据据据所所所所在在在在的的的的地地地地址址址址称称称称为为为为寻寻寻寻址址址址方方方方式式式式。所所所所以以以以寻寻寻寻址址址址方方方方式式式式是是是是在在在在地地地地址址址址范范范范围围围围内内内内如如如如何找到所需要的操作数的地址。何找到所需要的操作数的地址。何找到所需要的操作数的地址。何找到所需要的操作数的地址。MCS-51MCS-51指指指指令令令令系系系系统统统统的的的的寻寻寻寻址址址址方方方方式式式式主主主主要要要要有有有有立立立立即即即即寻寻寻寻址址址址、直直直直接接接接寻寻寻寻址址址址、寄寄寄寄存存存存器器器器寻寻寻寻址址址址、寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址、基基基基址址址址加加加加变址寻址、相对寻址和位寻址变址寻址、相对寻址和位寻址变址寻址、相对寻址和位寻址变址寻址、相对寻址和位寻址等七种。等七种。等七种。等七种。12/24/202216返回目录 立立立立即即即即寻寻寻寻址址址址是是是是将将将将操操操操作作作作数数数数直直直直接接接接写写写写在在在在指指指指令令令令中中中中,作作作作为为为为指指指指令令令令的的的的一一一一部部部部分分分分存存存存放放放放在在在在代代代代码码码码段段段段里里里里,位位位位置置置置在在在在程程程程序序序序存存存存储储储储器器器器中。立即寻址中的操作数,称为中。立即寻址中的操作数,称为中。立即寻址中的操作数,称为中。立即寻址中的操作数,称为立即数立即数立即数立即数。例如:例如:例如:例如:MOV A,#30H MOV A,#30H ;30HA30HA1.1.立即寻址立即寻址立即寻址立即寻址3.1.4 寻址方式寻址方式-立即寻址立即寻址立即寻址立即寻址12/24/202217返回目录2.2.直接寻址直接寻址直接寻址直接寻址 直直直直接接接接寻寻寻寻址址址址是是是是将将将将操操操操作作作作数数数数的的的的地地地地址址址址直直直直接接接接存存存存放放放放在在在在指指指指令令令令中中中中。这这这这种种种种寻寻寻寻址址址址方方方方式式式式的的的的操操操操作作作作数数数数指指指指的的的的是是是是内内内内部部部部数数数数据据据据存存存存储储储储器器器器中中中中存存存存放放放放数数数数据据据据的的的的地地地地址址址址,或或或或存存存存放放放放数数数数据据据据的的的的一一一一个个个个特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器地址。地址。地址。地址。例如:例如:例如:例如:MOV A,30H MOV A,30H ;(30H)A(30H)A3.1.4 寻址方式寻址方式-直接寻址直接寻址直接寻址直接寻址12/24/202218返回目录直接寻址方式可访问的范围直接寻址方式可访问的范围直接寻址方式可访问的范围直接寻址方式可访问的范围1)1)特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。特殊功能寄存器。这这这这部部部部分分分分存存存存储储储储单单单单元元元元既既既既可可可可以以以以用用用用单单单单元元元元地地地地址址址址给给给给出出出出,也也也也可可可可以以以以用用用用寄寄寄寄存存存存器器器器符符符符号号号号的的的的形形形形式式式式给给给给出出出出。如如如如:MOV MOV A,A,90H 90H 或或或或 MOV MOV A,A,P1P1为为为为同同同同一一一一条条条条指指指指令令令令的的的的两两两两种种种种写写写写法法法法(特特特特殊殊殊殊功功功功能能能能寄寄寄寄存器只能用直接寻址方式访问存器只能用直接寻址方式访问存器只能用直接寻址方式访问存器只能用直接寻址方式访问)。)。)。)。2)2)内部数据存储器的低内部数据存储器的低内部数据存储器的低内部数据存储器的低128128个字节单元。个字节单元。个字节单元。个字节单元。直直直直接接接接以以以以单单单单元元元元地地地地址址址址的的的的形形形形式式式式给给给给出出出出 对对对对于于于于8032/80528032/8052等等等等单单单单片片片片机机机机,其其其其内内内内部部部部高高高高128128字字字字节节节节RAMRAM(80H80HFFHFFH)不不不不能用直接寻址方式访问能用直接寻址方式访问能用直接寻址方式访问能用直接寻址方式访问。3.1.4 寻址方式寻址方式-访问范围访问范围访问范围访问范围12/24/202219返回目录3)3)位地址空间位地址空间位地址空间位地址空间片片片片内内内内RAMRAM中中中中20H20H2FH2FH中中中中的的的的128128个个个个位位位位地地地地址址址址,以以以以及及及及SFRSFR中中中中的的的的1111个个个个可可可可进进进进行行行行位位位位寻寻寻寻址址址址的的的的寄寄寄寄存存存存器器器器中中中中的的的的位位位位地地地地址址址址(可可可可位位位位寻寻寻寻址址址址的的的的特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器有有有有B B、ACCACC、PSWPSW、IPIP、IEIE、SCONSCON、TCONTCON、P0P3P0P3)。)。)。)。4)4)在在在在一一一一些些些些程程程程序序序序控控控控制制制制指指指指令令令令中中中中,可可可可采采采采用用用用直直直直接接接接寻寻寻寻址址址址方方方方式式式式提提提提供程序转移的目标地址。供程序转移的目标地址。供程序转移的目标地址。供程序转移的目标地址。3.1.4 寻址方式寻址方式-访问范围访问范围访问范围访问范围直接寻址方式可访问的范围直接寻址方式可访问的范围直接寻址方式可访问的范围直接寻址方式可访问的范围12/24/202220返回目录-寄存器寻址寄存器寻址寄存器寻址寄存器寻址寄存器寻址是指操作数存放在寄存器中,并寄存器寻址是指操作数存放在寄存器中,并寄存器寻址是指操作数存放在寄存器中,并寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。且寻址时的寄存器已隐含在指令的操作码中。且寻址时的寄存器已隐含在指令的操作码中。且寻址时的寄存器已隐含在指令的操作码中。例如:例如:例如:例如:MOV A,R5MOV A,R53.1.4 寻址方式寻址方式3.3.寄存器寻址寄存器寻址寄存器寻址寄存器寻址12/24/202221返回目录寄存器寻址方式的寻址范围:寄存器寻址方式的寻址范围:寄存器寻址方式的寻址范围:寄存器寻址方式的寻址范围:(1)4(1)4个工作寄存器组共个工作寄存器组共个工作寄存器组共个工作寄存器组共3232个通用寄存器(在指令中个通用寄存器(在指令中个通用寄存器(在指令中个通用寄存器(在指令中只能使用当前寄存器组)只能使用当前寄存器组)只能使用当前寄存器组)只能使用当前寄存器组)(2)(2)部分特殊功能寄存器。如部分特殊功能寄存器。如部分特殊功能寄存器。如部分特殊功能寄存器。如A A,B B,DPTRDPTR。-寄存器寻址寄存器寻址寄存器寻址寄存器寻址3.1.4 寻址方式寻址方式12/24/202222返回目录-寄存器寻址寄存器寻址寄存器寻址寄存器寻址4.4.寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址是是是是指指指指操操操操作作作作数数数数据据据据存存存存放放放放在在在在以以以以寄寄寄寄存存存存器器器器内内内内容为地址的单元中。如:容为地址的单元中。如:容为地址的单元中。如:容为地址的单元中。如:MOV A,R0 ;(R0)AMOV A,R0 ;(R0)A指指指指令令令令功功功功能能能能为为为为将将将将R0R0所所所所指指指指出出出出的的的的内内内内部部部部RAMRAM单单单单元元元元内内内内容容容容送送送送入入入入累累累累加器加器加器加器A A中,执行过程如图所示。图中设中,执行过程如图所示。图中设中,执行过程如图所示。图中设中,执行过程如图所示。图中设R0=60HR0=60H。3.1.4 寻址方式寻址方式12/24/202223返回目录寄存器间接寻址的寻址范围:寄存器间接寻址的寻址范围:寄存器间接寻址的寻址范围:寄存器间接寻址的寻址范围:1)1)内内内内部部部部低低低低128128字字字字节节节节单单单单元元元元(只只只只能能能能使使使使用用用用R0R0、R1R1作作作作间间间间址址址址寄寄寄寄存器)。存器)。存器)。存器)。2)2)外外外外部部部部数数数数据据据据存存存存储储储储器器器器(64KB64KB字字字字节节节节,使使使使用用用用DPTRDPTR作作作作间间间间址址址址寄寄寄寄存存存存器器器器。另另另另外外外外,外外外外部部部部低低低低128B128B单单单单元元元元也也也也可可可可用用用用R0R0、R1R1作间址寄存器寻址)。作间址寄存器寻址)。作间址寄存器寻址)。作间址寄存器寻址)。3)3)在在在在堆堆堆堆栈栈栈栈操操操操作作作作指指指指令令令令(PUSHPUSH、POPPOP)中中中中,以以以以堆堆堆堆栈栈栈栈指指指指针针针针SPSP作间址寄存器,寻址空间为片内作间址寄存器,寻址空间为片内作间址寄存器,寻址空间为片内作间址寄存器,寻址空间为片内RAMRAM。3.1.4 寻址方式寻址方式-寻址范围寻址范围寻址范围寻址范围12/24/202224返回目录-基址变址寻址基址变址寻址基址变址寻址基址变址寻址基基基基址址址址变变变变址址址址寻寻寻寻址址址址是是是是指指指指操操操操作作作作数数数数存存存存放放放放在在在在以以以以变变变变址址址址寄寄寄寄存存存存器器器器和和和和基基基基址址址址寄寄寄寄存存存存器器器器的的的的内内内内容容容容相相相相加加加加形形形形成成成成的的的的数数数数为为为为地地地地址址址址的的的的单单单单元元元元中中中中。其其其其中中中中累累累累加加加加器器器器A A作作作作变变变变址址址址寄寄寄寄存存存存器器器器、程程程程序序序序计计计计数数数数器器器器PCPC或或或或寄寄寄寄存存存存器器器器DPTRDPTR作作作作基基基基址址址址寄存器寄存器寄存器寄存器。基址加变址寻址方式常用于。基址加变址寻址方式常用于。基址加变址寻址方式常用于。基址加变址寻址方式常用于查表操作查表操作查表操作查表操作。如:。如:。如:。如:MOVC A,A+PC ;PC+1PCMOVC A,A+PC ;PC+1PC,(A+PC)A(A+PC)AMOVC A,A+DPTR ;(A+DPTR)AMOVC A,A+DPTR ;(A+DPTR)A3.1.4 寻址方式寻址方式5.5.基址变址寻址基址变址寻址基址变址寻址基址变址寻址12/24/202225返回目录-相对寻址相对寻址相对寻址相对寻址3.1.4 寻址方式寻址方式6.相对寻址相对寻址以以PCPC的当前值为基准,加上指令中给出的相对偏移量的当前值为基准,加上指令中给出的相对偏移量(relrel)形成新的有效转移地址。)形成新的有效转移地址。其中,其中,relrel是一个带符号的是一个带符号的8 8位二进制数,能表示的范位二进制数,能表示的范围是围是-128+127-128+127个字节单元之间。个字节单元之间。目的地址目的地址=转移指令所在地址转移指令所在地址+转移指令字节数转移指令字节数+rel+rel例如:例如:JC 75HJC 75H (设设Cy=1)Cy=1)若若relrel为负数,为负数,计算时用计算时用 补码运算补码运算12/24/202226返回目录-位寻址位寻址位寻址位寻址位位位位寻寻寻寻址址址址是是是是指指指指对对对对片片片片内内内内RAMRAM中中中中20H20H2FH2FH中中中中的的的的128128个个个个位位位位地地地地址址址址,以以以以及及及及SFRSFR中中中中的的的的1111个个个个可可可可进进进进行行行行位位位位寻寻寻寻址址址址的的的的寄寄寄寄存存存存器器器器中中中中的的的的位位位位地地地地址址址址寻寻寻寻址址址址(可可可可位位位位寻寻寻寻址址址址的的的的特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器有有有有 B B、ACCACC、PSWPSW、IPIP、IEIE、SCONSCON、TCONTCON、P0P3P0P3)。例如:)。例如:)。例如:)。例如:MOV C,20HMOV C,20H此此此此指指指指令令令令是是是是将将将将RAMRAM中中中中位位位位寻寻寻寻址址址址区区区区20H20H位位位位地地地地址址址址中中中中的的的的内内内内容容容容,送送送送给给给给位位位位累累累累加加加加器器器器CyCy。位位位位寻寻寻寻址址址址指指指指令令令令不不不不同同同同于于于于字字字字节节节节地地地地址寻址指令,址寻址指令,址寻址指令,址寻址指令,例如:例如:例如:例如:MOV A,20H MOV A,20H 3.1.4 寻址方式寻址方式7.位寻址位寻址12/24/202227返回目录-位寻址的表示形式位寻址的表示形式位寻址的表示形式位寻址的表示形式1)1)直接使用位地址直接使用位地址直接使用位地址直接使用位地址包包包包括括括括位位位位寻寻寻寻址址址址区区区区的的的的位位位位地地地地址址址址00H00H7FH7FH和和和和部部部部分分分分特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器的位地址。例如,器的位地址。例如,器的位地址。例如,器的位地址。例如,PSWPSW寄存器第寄存器第寄存器第寄存器第2 2位的位地址为位的位地址为位的位地址为位的位地址为D2HD2H。2)2)位名称表示法位名称表示法位名称表示法位名称表示法专专专专用用用用寄寄寄寄存存存存器器器器中中中中的的的的一一一一些些些些寻寻寻寻址址址址位位位位是是是是有有有有符符符符号号号号名名名名的的的的,对对对对其其其其进进进进行行行行位位位位寻寻寻寻址址址址时时时时可可可可用用用用其其其其符符符符号号号号名名名名,例例例例如如如如,PSWPSW寄寄寄寄存存存存器器器器的的的的第第第第2 2位位位位可可可可用用用用OVOV表示。表示。表示。表示。3)3)单元地址加位表示法单元地址加位表示法单元地址加位表示法单元地址加位表示法例如,例如,例如,例如,2F2F单元的第单元的第单元的第单元的第1 1位,可表示为位,可表示为位,可表示为位,可表示为2FH.12FH.1。再如,再如,再如,再如,D0HD0H单元(单元(单元(单元(PSWPSW)的第)的第)的第)的第2 2位,可表示为位,可表示为位,可表示为位,可表示为D0H.2D0H.2。3.1.4 寻址方式寻址方式12/24/202228返回目录4)4)专用寄存器名称加位表示法专用寄存器名称加位表示法专用寄存器名称加位表示法专用寄存器名称加位表示法例如,例如,例如,例如,PSWPSW寄存器的第寄存器的第寄存器的第寄存器的第2 2位可表示为:位可表示为:位可表示为:位可表示为:PSW.2PSW.2。对对对对于于于于可可可可位位位位寻寻寻寻址址址址的的的的特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器,上上上上面面面面4 4种种种种表表表表示示示示法法法法是是是是等等等等效效效效的的的的。以以以以读读读读取取取取PSWPSW第第第第二二二二位位位位为为为为例例例例的的的的4 4种种种种位位位位寻寻寻寻址址址址指指指指令如下:令如下:令如下:令如下:MOV C,0D2H ;MOV C,0D2H ;直接使用位地址寻址直接使用位地址寻址直接使用位地址寻址直接使用位地址寻址MOV C,OV ;MOV C,OV ;使用位名称寻址使用位名称寻址使用位名称寻址使用位名称寻址MOV C,0D0H.2 ;MOV C,0D0H.2 ;使用单元地址加位表示法寻址使用单元地址加位表示法寻址使用单元地址加位表示法寻址使用单元地址加位表示法寻址MOV C,PSW.2 MOV C,PSW.2 ;使用专用寄存器名称加位表示法寻址使用专用寄存器名称加位表示法寻址使用专用寄存器名称加位表示法寻址使用专用寄存器名称加位表示法寻址3.1.4 寻址方式寻址方式-位寻址的表示形式位寻址的表示形式位寻址的表示形式位寻址的表示形式12/24/202229返回目录在在在在MCS-51MCS-51单单单单片片片片机机机机的的的的指指指指令令令令系系系系统统统统中中中中,指指指指令令令令对对对对哪哪哪哪一一一一个个个个存存存存储储储储器器器器空空空空间间间间进进进进行行行行操操操操作作作作,是是是是由由由由指指指指令令令令的的的的操操操操作作作作码码码码和和和和寻寻寻寻址址址址方方方方式确定的。式确定的。式确定的。式确定的。1)1)对对对对程程程程序序序序存存存存储储储储器器器器只只只只能能能能采采采采用用用用立立立立即即即即寻寻寻寻址址址址和和和和基基基基址址址址加加加加变变变变址寻址方式址寻址方式址寻址方式址寻址方式;2)2)对对对对特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器只只只只能能能能采采采采用用用用直直直直接接接接寻寻寻寻址址址址方方方方式式式式,不能采用寄存器间接寻址;不能采用寄存器间接寻址;不能采用寄存器间接寻址;不能采用寄存器间接寻址;3.1.4 寻址方式寻址方式-总结总结总结总结12/24/202230返回目录3)3)对对对对8032/80528032/8052等等等等单单单单片片片片机机机机内内内内部部部部RAMRAM的的的的高高高高128128个个个个字字字字节节节节(80HFFH80HFFH),只只只只能能能能采采采采用用用用寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址,不不不不能能能能使用直接寻址方式;使用直接寻址方式;使用直接寻址方式;使用直接寻址方式;4)4)对位操作指令只能对位寻址区操作;对位操作指令只能对位寻址区操作;对位操作指令只能对位寻址区操作;对位操作指令只能对位寻址区操作;5)5)外外外外部部部部扩扩扩扩展展展展的的的的数数数数据据据据存存存存储储储储器器器器只只只只能能能能用用用用MOVXMOVX指指指指令令令令访访访访问;问;问;问;6)6)内内内内部部部部RAMRAM的的的的低低低低128128个个个个字字字字节节节节(00H7FH00H7FH)既既既既能能能能用直接寻址,也能用间接寻址。用直接寻址,也能用间接寻址。用直接寻址,也能用间接寻址。用直接寻址,也能用间接寻址。3.1.4 寻址方式寻址方式-总结总结总结总结12/24/202231返回目录存储空间对应的寻址方式3.1.4 寻址方式寻址方式-寻址范围寻址范围寻址范围寻址范围12/24/202232返回目录3.2 指令系统指令系统MCS-51MCS-51的的的的数数数数据据据据传传传传送送送送指指指指令令令令共共共共有有有有2828条条条条。助助助助记记记记符符符符有有有有MOVMOV、MOVCMOVC、MOVXMOVX、XCHXCH、XCHDXCHD、PUSHPUSH、POPPOP。数数数数据据据据传传传传送送送送指指指指令令令令一一一一般般般般的的的的操操操操作作作作是是是是把把把把源源源源操操操操作作作作数数数数传传传传送送送送到到到到目目目目的的的的操操操操作作作作数数数数,指指指指令令令令执执执执行行行行完完完完成成成成后后后后,源源源源操操操操作作作作数数数数不不不不变变变变,目目目目的的的的操操操操作作作作数数数数等等等等于于于于源源源源操操操操作作作作数数数数。如如如如果果果果要要要要求求求求在在在在进进进进行行行行数数数数据据据据传传传传送送送送时时时时,目目目目的的的的操操操操作作作作数数数数不不不不丢丢丢丢失失失失,则则则则不不不不能能能能用用用用直直直直接接接接传传传传送送送送指指指指令令令令,而而而而采采采采用用用用交交交交换换换换型型型型的的的的数数数数据据据据传传传传送送送送指指指指令令令令。数数数数据据据据传传传传送送送送指指指指令令令令不不不不影影影影响响响响标标标标志志志志CyCy、ACAC和和和和OVOV,但但但但可可可可能能能能会会会会对对对对奇偶标志奇偶标志奇偶标志奇偶标志P P有影响。有影响。有影响。有影响。3.2.1 数据传送类指令数据传送类指令-传送指令传送指令传送指令传送指令12/24/202233返回目录-传送指令列表传送指令列表传送指令列表传送指令列表3.2.1 数据传送类指令数据传送类指令12/24/202234返回目录-传送指令列表传送指令列表传送指令列表传送指令列表3.2.1 数据传送类指令数据传送类指令12/24/202235返回目录助记符助记符助记符助记符 功能说明功能说明功能说明功能说明MOV A,Rn MOV