资源预览内容
第1页 / 共114页
第2页 / 共114页
第3页 / 共114页
第4页 / 共114页
第5页 / 共114页
第6页 / 共114页
第7页 / 共114页
第8页 / 共114页
第9页 / 共114页
第10页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统第三章第三章第三章第三章 MCS-51MCS-51单片机指令系统单片机指令系统单片机指令系统单片机指令系统指令系统指令系统MCS-51寻址方式寻址方式3.23.1MCS-51指令系统指令系统3.3华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统掌握指令格式及表示方法:助记符掌握指令格式及表示方法:助记符掌握指令格式及表示方法:助记符掌握指令格式及表示方法:助记符表示和机器码表示。表示和机器码表示。表示和机器码表示。表示和机器码表示。了解寻址方式的概念了解寻址方式的概念了解寻址方式的概念了解寻址方式的概念12掌握常用指令的功能及应用掌握常用指令的功能及应用掌握常用指令的功能及应用掌握常用指令的功能及应用3学习目的学习目的学习目的学习目的华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令系统简介指令系统简介单字节指令单字节指令双字节指令双字节指令三字节指令三字节指令伪指令伪指令3.13.1 指令系统指令系统指令系统指令系统华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令系统简介指令系统简介操作码操作码操作码操作码7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0双字节指令:双字节指令:双字节指令:双字节指令:标号:标号:标号:标号:操作码操作码操作码操作码 目的操作数,源操作数目的操作数,源操作数目的操作数,源操作数目的操作数,源操作数;注释;注释;注释;注释单字节指令:单字节指令:单字节指令:单字节指令: 操作码操作码操作码操作码7 07 07 07 0三字节指令:三字节指令:三字节指令:三字节指令:操作码操作码操作码操作码7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0指令按字节长度可以分为三种:指令按字节长度可以分为三种:指令按字节长度可以分为三种:指令按字节长度可以分为三种:例:例:例:例: MOVAMOVA,R0R0例:例:例:例:MOVAMOVA,30H30H例:例:例:例:MOVDPTRMOVDPTR,#2010H#2010H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统单字节指令单字节指令( (49条条) )(1 1)8位编码仅为操作码位编码仅为操作码如:如:INCA。该指令的编码为:该指令的编码为:00000100B,累加,累加 器器A隐含在操作码中。隐含在操作码中。位号位号76543210字节字节opcode注:注:opcode表示操作码表示操作码注意:注意:在指令中用在指令中用“A”表示累加器,而用表示累加器,而用“ACC” 表示累加器对应的地址(表示累加器对应的地址(E0H)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统如:如:MOVA,R0 编码编码为为11101000B(低(低3位位000 为寄存器为寄存器R0的编码)。的编码)。(2 2)8位编码含有操作码和寄存器编码位编码含有操作码和寄存器编码位号位号76543210字节字节opcoderrr注:注:rrr表示寄存器编码表示寄存器编码高高5位位为操作码,为操作码,低低3位位为存放操作数的寄存器编码。为存放操作数的寄存器编码。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统双字节指令双字节指令(45(45条条) )如:如:MOVA,#50H 编码编码为为01110100B,01010000B。位号位号76543210字节字节opcodedata或或direct t注:注:data和和direct表操作数或其地址表操作数或其地址 第一字节第一字节表示操作码,表示操作码,第二个字节第二个字节表示操作数,即表示操作数,即参与操作的数据或数据存放的地址。参与操作的数据或数据存放的地址。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统三字节指令三字节指令( (17条条) )如:如:MOV20H,#50H 编码编码为为01110101B,00100000B,01010000B位号位号76543210字节字节opcodedata或或directdata或或direct 第一字节第一字节表示操作码,表示操作码,后两个字节后两个字节表示操作数,表示操作数,即参与操作的数据或数据存放的地址。即参与操作的数据或数据存放的地址。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统伪指令(伪指令(PseudoInstruction)伪指令:伪指令:也称汇编命令,也称汇编命令,仅提供汇编控制信息,仅提供汇编控制信息,不不产生机器语言指令。产生机器语言指令。.ORGDATAENDEQUDBDWDSBIT华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例如:例如: ORG1000H START:MOVA,12HORG伪指令通知汇编程序,伪指令通知汇编程序,从从START开始的程序段,其起开始的程序段,其起始地址由始地址由1000H开始开始。由于。由于1000H是立即数型地址码,所以还隐是立即数型地址码,所以还隐含地指明该程序段是绝对地址段。含地指明该程序段是绝对地址段。 ORG 定位伪指令定位伪指令ORGm:指定指定其后面的程序或数据块存放的其后面的程序或数据块存放的起始地址起始地址m为十进制或十六进制数。为十进制或十六进制数。m指出在该伪指令后的指令的指出在该伪指令后的指令的地址,即生成的机器指令的起始存储器地址。地址,即生成的机器指令的起始存储器地址。 必须放在每段源程序或数据段的开始行,在一个源程序中必须放在每段源程序或数据段的开始行,在一个源程序中允许有多条定位伪指令,但每一个允许有多条定位伪指令,但每一个m值都应和前面生成的机器值都应和前面生成的机器指令存放地址指令存放地址不重叠不重叠。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统END 汇编结束伪指令汇编结束伪指令功能:功能:通知汇编程序结束汇编。通知汇编程序结束汇编。说明:说明:(1 1)在)在END之后即使后面还有指令,汇编程序也不之后即使后面还有指令,汇编程序也不 作处理。作处理。(2 2)在程序中可以有多条)在程序中可以有多条END指令,一般在程序的指令,一般在程序的 最后需要一条最后需要一条END伪指令,否则汇编程序会提伪指令,否则汇编程序会提 示警告错误,当然这并不会影响程序的正常运行。示警告错误,当然这并不会影响程序的正常运行。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式:字符名称字符名称EQU表达式表达式(数和汇编符号)(数和汇编符号)功能:功能:把表达式赋值给字符名称把表达式赋值给字符名称,字符名称和表达式必不可少。,字符名称和表达式必不可少。说明:说明:(1 1)用用EQU赋过值的符号名可用作数据地址、代码地址、位赋过值的符号名可用作数据地址、代码地址、位 地址或是立即数。它可以是地址或是立即数。它可以是8位的、也可以是位的、也可以是16位的。位的。(2 2)主要作用是使程序更好理解,达到望文生义的效果。)主要作用是使程序更好理解,达到望文生义的效果。(3 3)字符名称字符名称不同于标号,其后没有冒号。不同于标号,其后没有冒号。EQU (EQUate)赋值伪指令)赋值伪指令例如:例如:LOOPEQU2002H向汇编程序表明,向汇编程序表明,LOOP的值为的值为2002H。LOOP1EQULOOPLOOP已已赋赋值值为为2002H,则则相相当当于于LOOP1LOOP,即即LOOPI也也为为2002H,在在程程序序中中LOOP和和LOOP1可可以以互互换换使使用用。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式:字符名称字符名称 DATA 表达式表达式功能:功能:把表达式赋值给字符名称把表达式赋值给字符名称,字符名称和表达式必不可少,字符名称和表达式必不可少说明:说明:(1 1)表达式可以是数据或地址,也可以是包含所定义表达式可以是数据或地址,也可以是包含所定义“字符名字符名 称称”在内的表达式,但不可以是汇编符号(如在内的表达式,但不可以是汇编符号(如R0、R7)。)。(2 2)字符名称字符名称不同于标号,其后没有冒号。不同于标号,其后没有冒号。DATA 数据地址赋值伪指令数据地址赋值伪指令DATA与与EQU的区别:的区别:(1 1)EQU定义的定义的“字符名称字符名称”必须必须先定义后使用先定义后使用,而,而DATA没没 有这种限制,故有这种限制,故DATA伪指令可用在源程序的开头或末尾。伪指令可用在源程序的开头或末尾。(2 2)用)用EQU给一个给一个字符名称字符名称赋值后,在整个源程序中该赋值后,在整个源程序中该字符名字符名 称称的值是固定的,的值是固定的,不能更改不能更改。若需更改,需用伪指令。若需更改,需用伪指令 DATA重新定义重新定义例:例:COUNTDATA3000H ;定义;定义COUNT值为值为3000H COUNTDATACOUNT十十1;重定义;重定义COUNT值为值为3000Hl 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式: 标号标号 DB 表达式或表达式表表达式或表达式表 如:标号如:标号 DBX1,X2,,Xn功能:功能:定义字节。把定义字节。把DB后的数据按后的数据按8位从当前地址存放位从当前地址存放说明:说明:(1 1)通常用于定义一个常数表。)通常用于定义一个常数表。(2 2)标号为可选项,标号后无冒号,表示数据存储单元地址。)标号为可选项,标号后无冒号,表示数据存储单元地址。(3 3)Xi为单字节数据,可为十进制或十六进制,可为表达式,为单字节数据,可为十进制或十六进制,可为表达式, 也可为单引号中的字符串,两数据之间用逗号也可为单引号中的字符串,两数据之间用逗号“,”分开。分开。DB ( (DefineByte) ) 定义字节伪指令定义字节伪指令例:例: ORG2000HTABLEDB73H,04,100,32,00,-2,ABC 表示字节串数据存入由表示字节串数据存入由TABLE标号为起始地址的连续存储标号为起始地址的连续存储器单元中。即从器单元中。即从2000H存储单元开始依次连续存放数据为:存储单元开始依次连续存放数据为:73H,04H,64H,20H,00H,FEH,41H,42H,43H。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式: 标号标号 DW 表达式或表达式表表达式或表达式表 如:标号如:标号 DWY1,Y2,,Yn功能:功能:定义字。该命令把定义字。该命令把DW后的数据按后的数据按16位从当前地址按顺序位从当前地址按顺序 连续存放。连续存放。字的高字节存低地址,低字节存高地址字的高字节存低地址,低字节存高地址。说明:说明:(1 1)通常用于定义一个地址表。)通常用于定义一个地址表。(2 2)标号为可选项,标号后无冒号,表示数据存储单元地址。)标号为可选项,标号后无冒号,表示数据存储单元地址。(3 3)Yi为双字节数据,可为十进制或十六进制,可为表达式,为双字节数据,可为十进制或十六进制,可为表达式, 两数据之间用逗号两数据之间用逗号“,”分开。分开。(4 4)DB和和DW定义的数表,数的个数不得超过定义的数表,数的个数不得超过80个。若数据的个。若数据的 数目较多时,可以使用多个定义命令。数目较多时,可以使用多个定义命令。DW ( (DefineWord) ) 定义字伪指令定义字伪指令例:例:DW100H,3456H,814表示按顺序存入表示按顺序存入01H,00H,34H,56H,03H,2EH华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式: 标号标号 DS 表达式表达式功能:功能:从指定地址开始保留从指定地址开始保留DS后后“表达式表达式”所规定的存贮单元。所规定的存贮单元。说明:说明:(1 1)标号为可选项,标号后无冒号。)标号为可选项,标号后无冒号。(2 2)对于)对于51单片机,单片机,DB、DW、DS等伪指令只能应用于等伪指令只能应用于程序存程序存 储器储器,而不能对数据存储器使用。,而不能对数据存储器使用。 DS ( (DefineStorage) ) 定义存储空间伪指令定义存储空间伪指令例:例:BASEDS100H 通知汇编程序,从标号通知汇编程序,从标号BASE开始,保留开始,保留100H个存储单元,个存储单元,以备源程序另用。以备源程序另用。例:例:ORG 1000HDS07HDB20H,20DW12H从从1007H单元开始的单元开始的存储单元的内容为:存储单元的内容为:(1007H)=20H(1008H)=14H(1009H)=00H(100AH)=12H经汇编后,经汇编后,从地址从地址1000H开始开始保留了保留了7个个存贮单元。存贮单元。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令格式:指令格式:字符名称字符名称 BIT 位地址位地址功能:功能:把把BIT之后的之后的“位地址位地址”值赋给值赋给 “字符名称字符名称”。说明:说明:(1 1)“字符名称字符名称”与标号不同(其后无冒与标号不同(其后无冒 号),且是必须的号),且是必须的(2 2)位地址可以是绝对地址,也可以是符位地址可以是绝对地址,也可以是符 号地址号地址BIT 位定义伪指令位定义伪指令例:例: ABCBITP1.1 把把P1.1位地址赋值给位地址赋值给ABC,在后面的编,在后面的编程中,程中,ABC即可作为位地址即可作为位地址P1.1使用。即使用。即 P1口第口第1位地址位地址91H就赋给了就赋给了ABC。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统说明:说明:u表达式赋值表达式赋值可允许汇编语言程序的指令操作数域使用表达式,可允许汇编语言程序的指令操作数域使用表达式,例如:例如:“ADDA,#ALFA*BETA2”,其中,其中ALFA和和BETA是两个是两个已定义的标号。已定义的标号。u条条件件汇汇编编可可使使用用户户在在汇汇编编时时根根据据需需要要对对源源程程序序进进行行汇汇编编,这这样样有有利利于于程程序序的的调调试试。特特别别是是为为用用户户系系统统(或或大大的的应应用用)程程序序的的调试带来方便。调试带来方便。u宏宏汇汇编编允允许许用用户户在在编编写写源源程程序序时时使使用用宏宏指指令令。一一条条宏宏指指令令往往往往包包括括若若干干条条汇汇编编语语言言指指令令,这这样样在在使使用用宏宏指指令令之之后后可可使使源源程程序序缩缩短短,简简化化程程序序设设计计。在在使使用用宏宏指指令令之之前前,要要先先对对相相应应的的寄寄存存器器赋赋值,否则将会得出错误的结果。值,否则将会得出错误的结果。 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例例1:伪指令应用:伪指令应用ORG8100HBUFFERDS 10HDWAB DW100H,1ACH,-814说明:说明:从从8100H至至810FH为缓冲区空间为缓冲区空间(8110H)=41H(A)(8111H)=42H(B)8112H单元起存放单元起存放01H、00H、01H、ACH、FCH、D2H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统 往往P1口传送数据的指令中,数据的来源不尽相同。口传送数据的指令中,数据的来源不尽相同。 数据是指令的操作对象,叫做操作数。指令必须给数据是指令的操作对象,叫做操作数。指令必须给出操作数所在的地方,才能进行数据传送。出操作数所在的地方,才能进行数据传送。 寻找操作数地址的方法,称为寻址方式。寻找操作数地址的方法,称为寻址方式。寻找操作数到底寻找操作数到底有多少种方式呢有多少种方式呢? ?问题引入问题引入MOVP1,#55HMOVP1,55H请比较以上两条指请比较以上两条指令执行后令执行后P1口的口的状况状况? ?为什么为什么? ?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址3.2MCS-51寻址方式寻址方式立即数寻址立即数寻址位寻址位寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寻址方式寻址方式寻址方式寻址方式( ( ( (找信方式找信方式找信方式找信方式) ) ) )我的信在他我的信在他那那! !找信找信去去! !注注: :找信是寻找找信是寻找信的信的“地址地址”! !你能说出你能说出第二封信第二封信的的“地址地址”吗?吗?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统目的地目的地目的地目的地信信信信直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址目的地目的地目的地目的地# #XXHXXH操作数操作数MOVP1,#55HMOVA,#01HMOVA,#01H;ROMROM中中中中# #55H55H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统目的地目的地目的地目的地内部内部RAM或或SFR区区操作数操作数XXHXXHMOVP1,20HMOVP1,20H20H20H目的地目的地20H20H寻址是寻操作数的“地址”直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址直接给出地址直接给出地址直接给出地址直接给出地址20H20H直接寻址直接寻址直接寻址直接寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统直接寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统目的地目的地寄存器寄存器目的地目的地操作数操作数XXHXXHMOVP1,AMOVP1,A寄存器寄存器寄存器寄存器R0-R7ABDPTR直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址你能说出为你能说出为你能说出为你能说出为什么叫寄存什么叫寄存什么叫寄存什么叫寄存器寻址吗?器寻址吗?器寻址吗?器寻址吗?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寄存器寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统MOVP1,R0MOVP1,R0;若若若若R0=3AHR0=3AH目的地目的地寄存器寄存器操作数操作数操作数操作数3AH3AH内部内部RAM3AH3AH65H65H3AH3AHR0R1DPTR寄存寄存器间器间接寻接寻址寄址寄存器存器目的地目的地目的地目的地2 2号号号号信在信在2号箱子里号箱子里1 1号号号号直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址你能说出你能说出你能说出你能说出1 1号箱号箱号箱号箱子和子和子和子和2 2号箱子分号箱子分号箱子分号箱子分别对应内存中哪别对应内存中哪别对应内存中哪别对应内存中哪一部分吗一部分吗一部分吗一部分吗? ? ? ?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寄存器间接寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寻址比较寻址比较MOVP1MOVP1,R0R0数据在寄存器数据在寄存器R0MOVP1MOVP1,R0R0 地址在寄存器地址在寄存器R0里里MOVP1MOVP1,20H20H数据在内存数据在内存20HMOVP1MOVP1,#20H#20H直接将直接将20H这个数送这个数送P1口口错!错!错!MOVP1MOVP1,R0R0对!华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寻址比较寻址比较MOVP1MOVP1,R0R0数据在寄存器数据在寄存器R0MOVP1MOVP1,R0R0 地址在寄存器地址在寄存器R0里面里面MOVP1MOVP1,20H20H数据在内存数据在内存20HMOVP1MOVP1,#20H#20H直接将直接将20H这个数送这个数送P1口口错!错!错!MOVP1MOVP1,R0R0对!华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寻址比较寻址比较MOVP1MOVP1,R0R0数据在寄存器数据在寄存器R0MOVP1MOVP1,R0R0 地址在寄存器地址在寄存器R0里面里面MOVP1MOVP1,20H20HMOVP1MOVP1,#20H#20H直接将直接将20H这个数送这个数送P1口口错!错!错!MOVP1MOVP1,20H20H对对! !数据在内存数据在内存20H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寻址比较寻址比较MOVP1,R0数据在寄存器数据在寄存器数据在寄存器数据在寄存器R0R0MOVP1,R0 地址在寄存器地址在寄存器地址在寄存器地址在寄存器R0R0里里里里MOVP1,20H数据在内存数据在内存数据在内存数据在内存20H20HMOVP1,#20H直接将直接将直接将直接将20H20H这个数送这个数送这个数送这个数送P1P1口口口口错!错!错!MOVP1,#20H对!华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统MOVCA,A+DPTR目的地目的地寄存器寄存器操作数操作数内部内部RAM3AH3AH65H65H3AH3AH基址基址寄存器寄存器12H变址变址寄存器寄存器34HROM46H65HADPTRPCMOVCA,A+PC46H46H直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统变址寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统目的地目的地目的地目的地XXHXXH操作数操作数操作数操作数2000H:SJMP54H2000H:SJMP54HPCPC+ + 54H54HPCPC2002H2002H2002H=2056H2002H=2056HPCPC2056H2056H8054直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统相对寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统21H21H20H20H100000000想一想想一想想一想想一想: :如果想使如果想使如果想使如果想使27H27H单元的单元的单元的单元的第第第第5 5位位位位置置置置1 1,该怎么,该怎么,该怎么,该怎么办呢办呢办呢办呢? ?直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统单元地址单元地址单元地址单元地址2FH2FH2FH2FH2EH2EH2EH2EH2DH2DH2DH2DH2CH2CH2CH2CH2BH2BH2BH2BH2AH2AH2AH2AH29H29H29H29H28H28H28H28H 26H26H26H26H25H25H25H25H24H24H24H24H23H23H23H23H22H22H22H22H21H21H21H21H20H20H20H20H7F7F77776F6F67675F5F57574F4F474737372F2F27271F1F17170F0F0707 MSBMSBMSBMSB 位地址位地址位地址位地址 LSBLSBLSBLSB7E7E76766E6E66665E5E56564E4E4646 36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D454535352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C4444 34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B4343 33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A4242 32322A2A22221A1A12120A0A020279797171696961615959515149494141 313129292121191911110909010178787070686860605858505048484040 3030282820201818101008080000位寻址地址表位寻址地址表位寻址地址表位寻址地址表 例:例:SETB 3DHSETB 3DHSETB 3DHSETB 3DH3D3D3C3C3B3B3F3F3E3E3A3A3939383827H27H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统SETB3DHSETB3DH直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址立即数寻址立即数寻址位寻址位寻址21H21H20H20H000000001华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统位寻址位寻址位寻址位寻址位操作指令中的操作数是位地址。用位操作指令中的操作数是位地址。用“bit”示示1 1、位寻址区域、位寻址区域 在片内在片内在片内在片内RAMRAMRAMRAM中:中:中:中:(1 1 1 1)20H20H- -2FH162FH16个单元的个单元的个单元的个单元的128128位(位(位(位(00H-7FH00H-7FH)(2 2 2 2)字节地址能被)字节地址能被)字节地址能被)字节地址能被8 8整除的整除的整除的整除的1111个个个个SFRSFR中的位中的位中的位中的位( ( ( (80H-FFH80H-FFH) ) ) )2 2、位地址的表示方法、位地址的表示方法(1 1 1 1)直接用位地址)直接用位地址)直接用位地址)直接用位地址 如:如:如:如:00H00H、7FH7FH(2 2 2 2)用特殊功能寄存器名加位数)用特殊功能寄存器名加位数)用特殊功能寄存器名加位数)用特殊功能寄存器名加位数 如:如:如:如:PSW.3PSW.3、P1.2P1.2 (3 3 3 3)用位名)用位名)用位名)用位名 如:如:如:如:TR0TR0、EX0EX0(4 4 4 4)用字节地址加位数)用字节地址加位数)用字节地址加位数)用字节地址加位数 如:如:如:如:D0.3D0.33 3、位寻址例子、位寻址例子 MOVCMOVC,00HSETBPSW.300HSETBPSW.3 JBPJBP,NEXT2CLRD0.7NEXT2CLRD0.7 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统片内片内RAM20H2FH,11个个SFR位寻址位寻址ROM256字节范围内(字节范围内(PC+rel)相对寻址相对寻址ROM变址寻址变址寻址片内片内RAM低低128字节,片外字节,片外RAM寄存器间接寻址寄存器间接寻址R0R7、A、B、DPTR寄存器寻址寄存器寻址片内片内RAM直接寻址直接寻址ROM立即数寻址立即数寻址寻址空间寻址空间寻址方式寻址方式华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统指令描述约定指令描述约定华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统二、算术运算指令二、算术运算指令(24条)条)三、逻辑运算指令三、逻辑运算指令(24条)条)四、控制转移指令四、控制转移指令(17条)条)五、位操作指令五、位操作指令(17条)条)3.3 3.3 3.3 3.3 MCS-51MCS-51指令系指令系指令系指令系统统一、数据传送指令一、数据传送指令(29条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统8 8 8 8位数据传送指令位数据传送指令位数据传送指令位数据传送指令(15(15(15(15条条条条) ) ) )16161616位数据传送指令(位数据传送指令(位数据传送指令(位数据传送指令(1 1 1 1条)条)条)条)12外部数据传送指令外部数据传送指令外部数据传送指令外部数据传送指令(4(4(4(4条条条条) ) ) ) 交换和查表类指令交换和查表类指令交换和查表类指令交换和查表类指令(9(9(9(9条条条条) ) ) )34一、一、一、一、 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统目的地址目的地址目的地址目的地址源地址源地址源地址源地址数据数据数据数据MOV MOV , , MOVA,#20H,A ARnRndirect1direct1RiRiA ARnRndirect2direct2RiRi#data#dataA ARnRndirect2direct2RiRi#data#dataMOVMOVRnRnA A#data#datadirect2direct2direct1direct1A ARnRndirect2direct2RiRi#data#dataRiRiA Adirect2direct2#data#data20H20HA A 1. 81. 81. 81. 81. 81. 8位数据传送指令位数据传送指令位数据传送指令位数据传送指令位数据传送指令位数据传送指令(15(15(15(15(15(15条条条条条条) ) ) ) ) ) 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统RidirectRn#dataA传送指令在片内存储器的操作功能传送指令在片内存储器的操作功能华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统MOVDPTR,#data16MOVX,,A ADPTRDPTRRiRiMOVXMOVXA ADPTRDPTRRiRiDPTRDPTRA ARiRiDPTRDPTRA ARiRiA A2. 162. 162. 162. 162. 162. 16位数据传送指令(位数据传送指令(位数据传送指令(位数据传送指令(位数据传送指令(位数据传送指令(1 1 1 1 1 1条)条)条)条)条)条) 3. 3. 3. 3. 3. 3. 外部数据传送指令外部数据传送指令外部数据传送指令外部数据传送指令外部数据传送指令外部数据传送指令(4(4(4(4(4(4条条条条条条) ) ) ) ) ) A A寄存器寄存器寄存器间接寻址寄存器间接寻址R1,R0(外(外RAM0B255B)寄存器间接寻址寄存器间接寻址DPTR(外(外RAM0KB64KB)外部数据存储外部数据存储外部数据存储外部数据存储外部数据存储外部数据存储器传送操作器传送操作器传送操作器传送操作器传送操作器传送操作 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统MOV/MOVXMOV/MOVXMOV/MOVX华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统1)1)1)1)字节交换指令字节交换指令字节交换指令字节交换指令(3(3(3(3条条条条) ) ) ) 4.4.4.4.4.4.交换和查表类指令交换和查表类指令交换和查表类指令交换和查表类指令交换和查表类指令交换和查表类指令(9(9(9(9(9(9条条条条条条) ) ) ) ) ) ,A AXCHXCHdirectdirect RnRnRiRidirectdirectA ARnRnRiRi2)2)2)2)低半字节交换指令低半字节交换指令低半字节交换指令低半字节交换指令(1(1(1(1条条条条) ) ) ) XCHDXCHDA,RiA,Ri3)3)3)3)累加器累加器累加器累加器A A A A中高中高中高中高4 4 4 4位和低位和低位和低位和低4 4 4 4位交换位交换位交换位交换(1(1(1(1条条条条) ) ) ) SWAPSWAP A A 4)4)4)4)查表指令查表指令查表指令查表指令(2(2(2(2条条条条) ) ) ) MOVCMOVCA,A+PCA,A+PCMOVCMOVCA,A+DPTRA,A+DPTR5)5)5)5)堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令(2(2(2(2条条条条) ) ) ) PUSHPUSH directdirectPOPPOPdirectdirect华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统PUSH/POPPUSH/POPPUSH/POP华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例例1 1 近程查表近程查表设程序中的数据表格为设程序中的数据表格为(Y=2X+1)(Y=2X+1):10101010H H:01H,03H,05H,07H,09H,0BH,0DH,01H,03H,05H,07H,09H,0BH,0DH,若若X=4X=4,求,求Y Y。执行程序:。执行程序:10001000H H: MOV MOV A A, #04H#04H;自变量自变量X X1002H1002H: ADDADDA,A,#0BH#0BH;加一个偏移量加一个偏移量1004H1004H: MOVC AMOVC A, A+PC A+PC ;(;(0FH+1005H0FH+1005H)A A1005H1005H: MOV R0MOV R0,A A ;(A A)R0R01006H1006H: 结果为:(结果为:(A)=09H,(,(R0)=09H,(,(PC)=1006HA=?R0=?PC=?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统0FA程序存储区程序存储区执行执行MOVC AMOVC A,A+PCA+PC过程:过程:1014H091004H 831014H 091005H F8 1013H 07当前当前PCPC指令代码指令代码华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例例2 2 远程查表远程查表设程序中的数据表格(设程序中的数据表格(y=2xy=2x)为)为:ORGORG7010H7010HTABTAB00H,02H,04H,06H,08H,0AH,0CH,0EH, 00H,02H,04H,06H,08H,0AH,0CH,0EH, 执行程序执行程序:10001000H H:MOV AMOV A,#4H#4H;x=4x=41002H1002H:MOV DPTRMOV DPTR,#TAB#TAB1005H1005H:MOVC AMOVC A,A+DPTRA+DPTR;(4+7010H)=8(4+7010H)=8A A1006H:1006H:结果为:(结果为:(A)=08H,(PC)=1006H,(DPTR)=原值原值A=?DPTR=?PC=?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统04A程序存储区程序存储区1005H 937014H 081006H DPH 70DPL 10DPTR=7010HDPTR=7010H,A=04HA=04H,执行,执行MOVC AA+DPTRMOVC AA+DPTR7014H08指令代码指令代码华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统思考题思考题思考题思考题1MOVA,#1000H;A1000H2MOVXA,1000H;A(1000H)片外片外RAM3MOVCA,1000H;A(1000H)片外片外ROM4MOVX60H,A;片外;片外RAM(60H)A5MOVR0,60H;片内;片内RAM:(61H)(60HMOV61H,R06XCHR1,R2 ;R1R27MOVXDPTR,#2000H;DPTR2000H8MOVX60H,DPTR;片内片内RAMRAM片外片外RAM下列下列指令指令是否错误,如错请改正:是否错误,如错请改正:华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统加法指令(加法指令(加法指令(加法指令(8 8 8 8条)条)条)条)减法指令减法指令减法指令减法指令(4(4(4(4条条条条) ) ) ) 12BCDBCDBCDBCD码调整指令码调整指令码调整指令码调整指令(1(1(1(1条条条条) ) ) )加加加加1 1 1 1减减减减1 1 1 1指令(指令(指令(指令(9 9 9 9条)条)条)条)34二、算术运算类指令(二、算术运算类指令(二、算术运算类指令(二、算术运算类指令(24242424条)条)条)条)乘法指令乘法指令乘法指令乘法指令(1(1(1(1条条条条除法指令除法指令除法指令除法指令(1(1(1(1条条条条) ) ) ) 56华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统directdirectdirectdirect1.1.1.1.1.1.加法指令(加法指令(加法指令(加法指令(加法指令(加法指令(8 8 8 8 8 8条)条)条)条)条)条) AA,RnRnRiRi#data#dataADDADDRnRnRiRi#data#datadirectdirectdirectdirectAA,RnRnRiRi#data#dataADDCADDCRnRnRiRi#data#dataADDCA,R0ADDCA,R0;A+R0+CYA+R0+CYAA华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例:例: 先做先做67H+A0H=107H67H+A0H=107H,而,而1 107H07H显然超过了显然超过了0FF0FFH H,因此最终保存在,因此最终保存在A A中的是中的是07H07H,而,而1 1则到了则到了PSWPSW中中的的CYCY位了。换言之,位了。换言之,CYCY就相当于是就相当于是100H100H。 然后再做然后再做10H + 30H + 10H + 30H + CYCY,结果是,结果是41H41H,所以,所以最终的结果是最终的结果是4107H4107H。1067H+30A0H0001000001100111001100001010000001000001000001111067H30A0H4107H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统设:设:1067H1067H存在存在R1R0R1R0中,中,30A0H30A0H存在存在R3R2R3R2中中, ,计算计算R1R0+R3R2R1R0+R3R2,结果存在,结果存在R5R4R5R4中。中。MOVA,R0ADDA,R2;R0+R2A和和CYMOVR4,AMOVA,R1ADDC A,R3 ;R1+R3+CYA和和CYMOV R5,A华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统directdirectdirectdirectAA,RnRnRiRi#data#dataSUBBSUBBRnRnRiRi#data#data2.2.2.2.减法指令减法指令减法指令减法指令(4(4(4(4条条条条) ) ) ) SUBBA,20HSUBBA,20H;A(20H)A(20H)CYCYA A说明:说明:u只有带借位的减法指令只有带借位的减法指令,如果需要做,如果需要做不不带位的减法指令带位的减法指令 (在做第一次相减时),只要将(在做第一次相减时),只要将CYCY清零清零即可。即可。u对带符号数,要注意对带符号数,要注意OVOV标志。标志。OV=1OV=1,出错出错。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统BCD码码:001101003.BCD3.BCD3.BCD3.BCD码调整指令码调整指令码调整指令码调整指令(1(1(1(1条条条条) ) ) ) DAADAA注意:注意:注意:注意:只能跟在只能跟在只能跟在只能跟在ADDADDADDADD或或或或ADDCADDCADDCADDC加法指令后,不适用于减法指令加法指令后,不适用于减法指令加法指令后,不适用于减法指令加法指令后,不适用于减法指令十进制十进制二进制二进制BCDBCD码码0123456789101112131415000000010010001101000101011001111000100110101011110011011110111100000001001000110100010101100111100010010001000000010001000100100001001100010100000101011816+34十进制十进制0001100000010110+BCD码码00101110001101000010111000000110差差6 6华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统+例:例:例:例:85+5985+5985+5985+59MOV A,#85H;A=85HADDA,#59H;A=DEHDAA;A=44H,产生进位,产生进位11000 01010101 10011101 11100000 01101110 01000110 0000 10100 0100A30=11109A74=11109CY=1+BCDBCDBCDBCDBCDBCD码减法码减法码减法码减法码减法码减法 :先求减数:先求减数:先求减数:先求减数:先求减数:先求减数的补数(的补数(的补数(的补数(的补数(的补数(100-100-100-100-100-100-减数),减数),减数),减数),减数),减数), 再与被减数相加,再与被减数相加,再与被减数相加,再与被减数相加,再与被减数相加,再与被减数相加, 最后用最后用最后用最后用最后用最后用DA ADA ADA ADA ADA ADA A指令调整。指令调整。指令调整。指令调整。指令调整。指令调整。91-36=?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期INCA00000100AA+1影响影响PSW的的P标志标志1INCRn00001rrrRnRn+1n=07,rrr=0001111INCdirect00000101direct (direct)(direct)+11INCRi0000011i(Ri)(Ri)+1i=0,11INCDPTR 10100011DPTRDPTR+12DECA00010100AA-1影响影响PSW的的P标志标志1DECRn00011rrrRnRn-1n=07,rrr=0001111DECdirect 00010101direct (direct)(direct)+11DECRi0001011i(Ri)(Ri)-1i=0,114.4.4.4.4.4.加加加加加加1 1 1 1 1 1减减减减减减1 1 1 1 1 1指令(指令(指令(指令(指令(指令(9 9 9 9 9 9条)条)条)条)条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统说明:说明:加加1 1减减1 1指令不影响指令不影响CYCY、ACAC、OVOV标志位标志位比较:比较:INCAADDA,#01H都将都将A的内容加的内容加1,但,但INCA不影响不影响CY、AC、OV位,只影响位,只影响P位。而位。而ADD指令影响指令影响以上四位。以上四位。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统5.5.5.5.乘法指令乘法指令乘法指令乘法指令(1(1(1(1条条条条) ) ) ) MULABMULAB6.6.6.6.除法指令除法指令除法指令除法指令(1(1(1(1条条条条) ) ) ) DIVABDIVAB无符号数相乘,高无符号数相乘,高位存位存B,低位存,低位存A无符号数相除,商无符号数相除,商存存A,余数存,余数存BA、B中都是无符号整数中都是无符号整数如果积大于如果积大于255,OV1,否则否则OV0;进位标志总是清零进位标志总是清零Cy0A、B中都是无符号整数中都是无符号整数如果除数如果除数B为为“0”,OV1,否则否则OV0;进位标志总是清零进位标志总是清零Cy0华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统逻辑与指令(逻辑与指令(逻辑与指令(逻辑与指令(6 6 6 6条)条)条)条)逻辑或指令(逻辑或指令(逻辑或指令(逻辑或指令(6 6 6 6条)条)条)条) 12逻辑异或指令(逻辑异或指令(逻辑异或指令(逻辑异或指令(6 6 6 6条)条)条)条) 累加器累加器累加器累加器A A A A清清清清0 0 0 0和取反指令(和取反指令(和取反指令(和取反指令(2 2 2 2条)条)条)条)34三、逻辑运算类指令(三、逻辑运算类指令(三、逻辑运算类指令(三、逻辑运算类指令(24242424条)条)条)条)循环移位指令(循环移位指令(循环移位指令(循环移位指令(4 4 4 4条)条)条)条)5华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统1.1.1.1.逻辑与指令(逻辑与指令(逻辑与指令(逻辑与指令(6 6 6 6条)条)条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ANLA,direct01010101directAAdirect按位与,影响按位与,影响P1ANLA,Rn01011rrrAARnn=07rrr=0001111ANLA,Ri0101011iAA(Ri)i=0,11ANLA,#data01010100dataAA#data1ANLdirect,A01010010direct(direct)(direct)A不影响不影响PSW1ANLdirect,#data01010011directdata(direct)(direct)#data不影响不影响PSW2华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统2.2.2.2.2.2.逻辑或指令(逻辑或指令(逻辑或指令(逻辑或指令(逻辑或指令(逻辑或指令(6 6 6 6 6 6条)条)条)条)条)条) 01000011directdata助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ORLA,direct01000101directAAdirect按位相或,影响按位相或,影响P1ORLA,Rn01001rrrAARnn=07,rrr=0001111ORLA,Ri0100011iAA(Ri)i=0,11ORLA,#data01000100dataAA#data1ORLdirect,A01000010direct(direct)(direct)A不影响不影响PSW1ORLdirect,#data(direct)(direct)#data不影响不影响PSW2华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3.3.3.3.3.3.逻辑异或指令(逻辑异或指令(逻辑异或指令(逻辑异或指令(逻辑异或指令(逻辑异或指令(6 6 6 6 6 6条)条)条)条)条)条) 助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期XRLA,direct01100101directAA (direct)按按位位相相异异或或,影影响响P1XRLA,Rn01101rrrAA Rnn=07,rrr=0001111XRLA,Ri0110011iAA (Ri)i=0,11XRLA,#data01100100dataAA #data1XRLdirect,A01100010direct(direct)(direct) A不影响不影响PSW1XRLdirect,#data01100011directdata(direct)(direct) #data不影响不影响PSW2华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统4.4.4.4.4.4.累加器累加器累加器累加器累加器累加器A A A A A A清清清清清清0 0 0 0 0 0和取反指令(和取反指令(和取反指令(和取反指令(和取反指令(和取反指令(2 2 2 2 2 2条)条)条)条)条)条)助记符格式助记符格式 机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期CLRA11100100A00HA中内容清中内容清0,影响影响P标志标志1CPLA11110100A中内容按位取反,中内容按位取反,影响影响P标志标志1AA华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统内部数据存储器逻辑操作内部数据存储器逻辑操作内部数据存储器逻辑操作内部数据存储器逻辑操作内部数据存储器逻辑操作内部数据存储器逻辑操作寄存器间接寻址寄存器间接寻址R1,R0直接数据单元直接数据单元(ANL,ORL,XRL)R7R0寄存器寄存器立即数立即数A寄存器寄存器(ANL,ORL,XRL)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统应用应用应用应用uANLA,#00001111B;屏蔽某些位屏蔽某些位 uORLA,#00001111B;置位某些位置位某些位uXRLA,#00001111B;取反某些位取反某些位uCPLA/INC A;求补码求补码华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例例:(:(A)=01B,表示随机状态,为表示随机状态,为1或或0,执行下,执行下述一组指令执行后述一组指令执行后A的值如何的值如何?XRLA,#0C0H01;将累加器;将累加器A的内容的内容D7、D6取反取反11000000 ORLA,#03H10;将累加器;将累加器A的内容的内容D1、D0置置100000011ANLA,#0E7H1011;将累加器;将累加器A的内容的内容D4、D3清清011100111100011解解:执行上述指令后,(:执行上述指令后,(A)=100011B。思考题思考题1 1:如何将累加器如何将累加器A A中的数据高中的数据高4 4位清位清0 0,低位不变?,低位不变?思考题思考题2 2:如何将寄存器如何将寄存器R2R2中的数据奇数位取反,偶数位不变?中的数据奇数位取反,偶数位不变?华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统A.0A.7A.0A.7A.0A.7A.0A.7CYCY5.5.5.5.5.5.循环移位指令(循环移位指令(循环移位指令(循环移位指令(循环移位指令(循环移位指令(4 4 4 4 4 4条)条)条)条)条)条)u RLAuRRAuRLCAuRRCA注意注意注意注意: :执行带进位循环移位指令前,须给执行带进位循环移位指令前,须给执行带进位循环移位指令前,须给执行带进位循环移位指令前,须给CYCY置位或清零置位或清零置位或清零置位或清零华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统循环移位指令循环移位指令循环移位指令循环移位指令循环移位指令循环移位指令华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例:例:若若A=5CHA=5CH,CY=1CY=1,执行,执行RLC ARLC A后,后,v 对对RLCRLC、RRCRRC指令,在指令,在CY=0CY=0时时RLCRLC相当于相当于乘乘以以2 2RRCRRC相当于相当于除除以以2 2结果:结果:A=B9HA=B9H,CY=0CY=0,P=1P=1华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统综合举例:综合举例:ANL AANL A,#0FH#0FH;屏蔽;屏蔽A A的高的高4 4位,位,A=0000*A=0000*SWAP ASWAP A;A0-3A0-3A4-7A4-7,A=*0000A=*0000ANL P1ANL P1,#0FH#0FHORL P1ORL P1,A A ;P1P1口高口高4 4位输出位输出*,低,低4 4位不变位不变 把累加器把累加器A A中的低中的低4 4位状态,通过位状态,通过P1P1口的高口的高4 4位输位输出,出, P1P1口的低口的低4 4位状态不变。位状态不变。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统无条件转移指令无条件转移指令无条件转移指令无条件转移指令(4(4(4(4条条条条) ) ) )AJMPAJMP、LJMPLJMP、SJMPSJMP、JMPJMP有条件转移指令(有条件转移指令(有条件转移指令(有条件转移指令(8 8 8 8条)条)条)条)JZJZ、JNZJNZ、CJNECJNE、DJNZDJNZ12子程序调用和返回指令子程序调用和返回指令子程序调用和返回指令子程序调用和返回指令(4(4(4(4条条条条) ) ) )ACALLLCALLACALLLCALL、RETRET、RETIRETI 空操作指令空操作指令空操作指令空操作指令(1(1(1(1条条条条) ) ) )NOPNOP34四、四、四、四、 控制转移类指令(控制转移类指令(控制转移类指令(控制转移类指令(17171717条)条)条)条) 注:只有比较转移指令注:只有比较转移指令CJNECJNE影响标志。影响标志。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统地址地址机器码机器码源程序源程序注释注释ORG0000H ;整个程序起始地址整个程序起始地址0000020030LJMPMAIN ;跳向主程序跳向主程序ORG0030H ;主程序起始地址主程序起始地址0030C3MAIN:CLRC ;MAIN为程序标号为程序标号0031E6LOOP:MOVA,R0003237ADDCA,R1003308INCR00034DAFBDJNZR1,LOOP ;相对转移;相对转移00368003SJMPNEXT00387803MOVR0,#03H003A18NEXT:DECR0003B80FESJMP$;HERE:SJMPHEREEND;汇编结束标记汇编结束标记程序中标号与地址之间的关系程序中标号与地址之间的关系程序中标号与地址之间的关系程序中标号与地址之间的关系华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统1.1.无条件转移类指令(无条件转移类指令(4 4条)条)u 短转移类指令:短转移类指令:AJMP AJMP addr11addr11u 长转移类指令:长转移类指令:LJMP LJMP addr16 addr16u 相对转移指令:相对转移指令:SJMPSJMP relrelu 间接转移指令:间接转移指令:JMP JMP A+DPTR A+DPTR华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统PC=0000HPC=0000HPC=0030HPC=0030H0000H0000H0001H0001H002FH002FH0030H0030H0002H0002H假设执行该指假设执行该指令前,令前,PCPC的值的值为为0000H0000H。注意注意注意注意:该指令可转移到该指令可转移到该指令可转移到该指令可转移到64KB64KB64KB64KB程序存储器中任意位置程序存储器中任意位置程序存储器中任意位置程序存储器中任意位置0200301) 1) 1) 1) 1) 1) 长转移指令长转移指令长转移指令长转移指令长转移指令长转移指令LJMP 0030H LJMP 0030H LJMP 0030H LJMP 0030H LJMP 0030H LJMP 0030H ; 0030H0030H0030H0030H0030H0030HPCPCPCPCPCPC华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统PC高高5位位(保持不变保持不变)PC低低11位位A10A9A800 001A7A6A5A4A3A2A1A0操作码操作码(第一字节第一字节)操作数操作数(第二字节第二字节)1111位转移地址的形成示意图位转移地址的形成示意图位转移地址的形成示意图位转移地址的形成示意图程序计程序计数器数器PC2)2)2)2)2)2)短转移指令短转移指令短转移指令短转移指令短转移指令短转移指令AJMPAJMPaddr11addr11; PC+2PC+2PCPC,addr11addr11PC.10PC.0PC.10PC.0华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3)3)3)3)3)3)相对转移指令相对转移指令相对转移指令相对转移指令相对转移指令相对转移指令例:例:SAC:SJMPSJMPBDC目的地目的地目的地目的地XXHXXH操作数操作数操作数操作数0200H:SJMP54H0200H:SJMP54HPCPC+ + 54H54HPCPC0200H0200H0201H0201H0202H0202H0202H0202H=0256H=0256HPCPC0256H0256H8054华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统v跳转的范围不同跳转的范围不同u 短转移类指令:短转移类指令:AJMP AJMP addr11addr11u 长转移类指令:长转移类指令:LJMPLJMP addr16addr16u 相对转移指令:相对转移指令:SJMP SJMP relrel转移范围:转移范围:2KB2KB64KB64KB-128-128+127+127v指令构成不同指令构成不同 AJMPAJMP、LJMPLJMP后跟的是后跟的是绝对地址绝对地址, 而而SJMPSJMP后跟的是后跟的是相对地址相对地址。 v指令长度不同指令长度不同注:注:原则上,所有用原则上,所有用SJMPSJMP或或AJMPAJMP的地方都可以用的地方都可以用 LJMPLJMP来替代。来替代。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统4)4)4)4)间接转移指令间接转移指令间接转移指令间接转移指令JMP A+DPTRJMP A+DPTRJMP A+DPTRJMP A+DPTR ;(;(A A)+ +(DPTRDPTR)PCPC说明:说明: u具有多分枝转移功能,即散转功能,又叫散转指令,具有多分枝转移功能,即散转功能,又叫散转指令,可代替众多的判别跳转指令,多用于多分支程序结可代替众多的判别跳转指令,多用于多分支程序结构中;构中;u转移范围:是以转移范围:是以DPTRDPTR为首地址的为首地址的256B256B。u此指令的用途也是跳转,转到什么地方去呢?这与此指令的用途也是跳转,转到什么地方去呢?这与前三条指令有所不同,不能由标号简单地决定。转前三条指令有所不同,不能由标号简单地决定。转移地址由移地址由A+DPTRA+DPTR形成,并直接送入形成,并直接送入PCPCu指令对指令对A A、DPTRDPTR和标志位均无影响和标志位均无影响 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统例:例: MOV DPTRMOV DPTR,#TAB #TAB ;将;将表格表格首址送入首址送入DPTRDPTR JMP A+DPTR JMP A+DPTR ;跳转;跳转TABTAB: AJMP ROUT0 AJMP ROUT0 ;跳转;跳转ROUT0ROUT0开始的程序段开始的程序段TAB+2TAB+2: AJMP ROUT1 AJMP ROUT1 ;跳转;跳转ROUT1ROUT1开始的程序段开始的程序段TAB+4TAB+4: AJMP ROUT2 AJMP ROUT2 ;跳转;跳转ROUT2ROUT2开始的程序段开始的程序段TAB+6TAB+6: AJMP ROUT3 AJMP ROUT3 ;跳转;跳转ROUT3ROUT3开始的程序段开始的程序段 .ROUT0ROUT0: .ROUT1ROUT1: .ROUT2ROUT2: .ROUT3ROUT3:执行该段程序后,程序将根执行该段程序后,程序将根据据A A中的内容转移到不同的中的内容转移到不同的程序段去执行程序段去执行-散转。散转。A=0,A=0,转转ROUT0ROUT0A=2,A=2,转转ROUT1ROUT1A=4,A=4,转转ROUT2ROUT2A=6,A=6,转转ROUT3ROUT3华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统2.2.2.2.2.2.条件转移指令条件转移指令条件转移指令条件转移指令条件转移指令条件转移指令(8(8(8(8(8(8条条条条条条) ) ) ) ) )1)1)1)1)1)1)累加器累加器累加器累加器累加器累加器A A A A A A判判判判判判0 0 0 0 0 0指令指令指令指令指令指令(2(2(2(2(2(2条条条条条条) ) ) ) ) )助记符格式助记符格式助记符格式助记符格式机器码机器码机器码机器码(B)(B)相应操作相应操作相应操作相应操作机器周期机器周期机器周期机器周期JZJZ relrel01100000rel01100000rel若若若若A=0,A=0,则则则则PCPCPC+relPC+rel, ,否则顺序执行否则顺序执行否则顺序执行否则顺序执行 2 2JNZJNZrelrel01110000rel01110000rel若若若若A0,A0,则则则则PCPCPC+relPC+rel, ,否则顺序执行否则顺序执行否则顺序执行否则顺序执行2 22)2)2)2)减减减减1 1 1 1非零转移非零转移非零转移非零转移指令指令指令指令(2(2(2(2条条条条) ) ) )助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期DJNZDJNZRn,rel 11011rrrrelRnRn-1,若,若Rn0,则,则PCPC+rel,否则顺序执行否则顺序执行2DJNZDJNZdirect,rel11010101directrel(direct)(direct)-1,若若(direct)0,则,则PCPC+rel,否则顺序执行,否则顺序执行2华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统CJNE(目的操作数目的操作数),(),(源操作数源操作数),),relCJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNERi,#data,rel3)3)3)3)比较转移比较转移比较转移比较转移指令指令指令指令(4(4(4(4条条条条) ) ) )执行取指完后,执行取指完后,PC=(PC)+3若(目的操作数)若(目的操作数)(源操作数)(源操作数),则,则(PC)+relPC,且,且0CY;若(目的操作数)若(目的操作数)(源操作数)(源操作数),则,则(PC)+relPC,且,且1CY;若(目的操作数)若(目的操作数)=(源操作数)(源操作数),则顺序执行,则顺序执行,且且0CY。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3)3)3)3)3)3)比较转移比较转移比较转移比较转移比较转移比较转移指令指令指令指令指令指令(4(4(4(4(4(4条条条条条条) ) ) ) ) )助助记符格式符格式机器机器码(B)相相应操作操作机器机器周期周期CJNEA,#data,rel10110100datarel若若A#data,则PCPC+rel,否否则顺序序执行行;若若A#data,则CY=1,否否则CY=02CJNERn,#data,rel10111rrrdatarel若若 Rn#data,则PCPC+rel,否否则 顺 序序 执 行行 ; 若若 Rn#data, 则CY=1,否,否则CY=02CJNERi,#data,rel1011011idatarel若若(Ri)#data,则PCPC+rel,否否则顺序序执行行;若若(Ri)#data,则CY=1,否,否则CY=02CJNEA,direct,rel10110101directrel若若A(direct),则PCPC+rel,否否则 顺 序序 执 行行 ; 若若 A(direct), 则CY=1,否,否则CY=02华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统条件转移类指令范例条件转移类指令范例条件转移类指令范例条件转移类指令范例还有什么方法实还有什么方法实现循环的终止现循环的终止? ?MOVR0,#20HMOVR7,#10HCLRALOOP:MOVR0,AINCAINCR0DJNZR7,LOOPSJMP$将将00H0FH这这16个数顺序地置入片内个数顺序地置入片内RAM20H2FH单元中单元中方案一方案一方案一方案一华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统方案二方案二方案二方案二方案二方案二MOVR0,#20HMOVR7,#10HCLRALOOP:MOVR0,AINCAINCR0CJNEA,#10H,LOOPSJMP$华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统方案三方案三方案三方案三方案三方案三MOVR0,#20HMOVA,#10HMOV30H,#00HLOOP:MOVR0,30HINC30HINCR0DECAJNZLOOPSJMP$华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统方案四方案四方案四方案四方案四方案四MOVR0,#20HMOVA,#10HMOV30H,#00HLOOP:MOVR0,30HINC30HINCR0SUBBA,#01HJNCLOOPSJMP$华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3.3.3.3.3.3.调用和返回指令调用和返回指令调用和返回指令调用和返回指令调用和返回指令调用和返回指令(4(4(4(4(4(4条条条条条条) ) ) ) ) )1)1)1)1)1)1)短调用短调用短调用短调用短调用短调用指令(指令(指令(指令(指令(指令(1 1 1 1 1 1条)条)条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期ACALLaddr11a10a9a810001addr70PCPC+2SPSP+1,(SP)PC07SPSP+1,(SP)PC815PC010addr1122)2)2)2)长调用长调用长调用长调用指令(指令(指令(指令(1 1 1 1条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期LCALLaddr1600010010addr158addr70PCPC+3SPSP+1,SPPC07SPSP+1,SPPC815PCaddr162华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3)3)3)返回返回返回返回返回返回指令指令指令指令指令指令助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期RET00100010PC815(SP),SPSP-1PC07(SP),SPSP-1子程序返回指令子程序返回指令2RETI00110010PC815SP,SPSP-1PC07SP,SPSP-1中断返回指令中断返回指令2助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期NOP00000000空操作空操作14.4.4.4.空操作指令(空操作指令(空操作指令(空操作指令(1 1 1 1条)条)条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统五、五、五、五、 位操作类指令(位操作类指令(位操作类指令(位操作类指令(17171717条)条)条)条)位传送指令(位传送指令(位传送指令(位传送指令(2 2 2 2条)条)条)条)位置位和位清零指令(位置位和位清零指令(位置位和位清零指令(位置位和位清零指令(4 4 4 4条)条)条)条)12位运算指令(位运算指令(位运算指令(位运算指令(6 6 6 6条)条)条)条)位转移指令(位转移指令(位转移指令(位转移指令(3 3 3 3条)条)条)条)34判判判判CYCYCYCY标志指令(标志指令(标志指令(标志指令(2 2 2 2条)条)条)条)5华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统五、五、五、五、 位操作类指令位操作类指令位操作类指令位操作类指令RAMRAM位寻址区位地址表位寻址区位地址表位寻址区位地址表位寻址区位地址表单元地址单元地址单元地址单元地址2FH2FH2FH2FH2EH2EH2EH2EH2DH2DH2DH2DH2CH2CH2CH2CH2BH2BH2BH2BH2AH2AH2AH2AH29H29H29H29H28H28H28H28H27H27H27H27H26H26H26H26H25H25H25H25H24H24H24H24H23H23H23H23H22H22H22H22H21H21H21H21H20H20H20H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSBMSBMSBMSB 位地址位地址位地址位地址 LSBLSBLSBLSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A02027979717169696161595951514949414139 39 31312929212119191111090901017878707068686060585850504848404038 38 3030282820201818101008080000华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期MOVC,bit10100010CYbit位传送,结果影响位传送,结果影响CY标志标志2MOVbit,C10010010bitCY位传送,结果不影响位传送,结果不影响PSW22.2.位置位和位清零指令(位置位和位清零指令(4 4条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期CLRC11000011CY0位清位清0,结果影响,结果影响CY标志标志1CLRbit11000010bitbit0位清位清0,结果不影响,结果不影响PSW1SETBC11010011CY1位置位置1,结果影响,结果影响CY标志标志1SETBbitbit1位置位置1,结果不影响,结果不影响PSW111010010bit1.1.1.1.位传送指令(位传送指令(位传送指令(位传送指令(2 2 2 2条)条)条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统3.3.3.3.位运算指令(位运算指令(位运算指令(位运算指令(6 6 6 6条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ANLC,bit10000010bitCYCYbit位与指令位与指令2ANLC,/bit10110010bit位与指令位与指令2ORLC,bit01110010bitCYCYbit位或指令位或指令2ORLC,/bit10100010bit位或指令位或指令2CPLC10110011位取反指令位取反指令2CPLbit10110010位位取取反反指指令令,结结果不影响果不影响CY2CYCYbitCYCYbitCYCYbitbit助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期JBbit,rel00100000bitrel若若bit=1,则,则PCPC+rel,否则顺序执行,否则顺序执行2JNBbit,rel00110000bitrel 若若bit=0,则,则PCPC+rel,否则顺序执行,否则顺序执行2JBCbit,rel00010000bitrel若若bit=1,则则PCPC+rel,bit0,否否则则顺顺序执行序执行24.4.位转移指令(位转移指令(3 3条)条)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统5.5.5.5.5.5.判判判判判判CYCYCYCYCYCY标志指令(标志指令(标志指令(标志指令(标志指令(标志指令(2 2 2 2 2 2条)条)条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期JCrel01000000若若CY=1,则则PCPC+rel,否否则则顺顺序序执行执行2JNCrel01010000若若CY1,则则PCPC+rel,否否则则顺顺序序执行执行2华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统P3.2P3.2和和P3.3P3.3上各接有一只开关,上各接有一只开关,要求它们分别闭合时要求它们分别闭合时 (P3.2=0(P3.2=0或或P3.3=0),P3.3=0),分别使分别使P1P1口为口为0 0或或FFHFFH。 STARTSTART:MOV P1MOV P1,#0FFH#0FFH MOV P3 MOV P3,#0FFH#0FFH L1: JNB P3.2 L1: JNB P3.2,L2 L2 ; JNB P3.3 JNB P3.3,L3 L3 ;P3.2=1P3.2=1, P3.3=1P3.3=1,等待,等待 LJMP L1LJMP L1 L2: MOV P1 L2: MOV P1,#00H #00H ;P3.2=0P3.2=0,使,使P1P1口全为口全为“0 0” LJMP L1 LJMP L1 L3: MOV P1 L3: MOV P1,#0FFH #0FFH ;P3.3=0P3.3=0,使,使P1P1口全为口全为“1 1” LJMP L1 LJMP L1举例:举例:+5VP3.2P3.38051华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统练习练习练习练习执行如下三条指令后,执行如下三条指令后,30H30H单元的内容是单元的内容是 。MOVR1,#30HMOV40H,#0EHMOVR1,40HA40HBC30HDFFH0EH华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统执行执行MOVXA,DPTR或或MOVCA,A+DPTR指令时,指令时,其寻址单元的地址是由其寻址单元的地址是由。AP0口送高口送高8位,位,P1口送高口送高8位位CP0口送低口送低8位,位,P1口送低口送低8位位DP0口送高口送高8位,位,P2口送低口送低8位位下列指令能能使累加器下列指令能能使累加器A低低4位不变,高位不变,高4位置位置F的是的是。AANLA,#0FHBANLA,#0F0OHDORLA,#0F0H下列指令能能使累加器下列指令能能使累加器A的最高位置的最高位置1的是的是。AANLA,#7FHBANLA,#80HBP0口送低口送低8位,位,P2口送高口送高8位位CORLA,#0FHCSETBACC.7DORLA,#80H华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统在在MCS-51指令中,下列指令中指令中,下列指令中是无条件转移指是无条件转移指令。令。 ALCALLaddr16BDJNZdirect,relCDACALLaddr11可以控制程序转向可以控制程序转向64K程序存贮器地址空间的任何程序存贮器地址空间的任何单元的无条件转移指令是单元的无条件转移指令是。AAJMPaddr11BCSJMPrelDJCrelSJMPrelLJMPaddr16华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统程序计数器程序计数器PC用来存放下一条指令的地址,用来存放下一条指令的地址,CPU取指令后会自动修改取指令后会自动修改PC的内容,除此以外,的内容,除此以外,PC内内容的改变是由下列指令中的容的改变是由下列指令中的引起的。引起的。A执行压栈指令执行压栈指令D查表指令查表指令B执行转移指令执行转移指令C执行调用指令执行调用指令E中断返回或子程序返回中断返回或子程序返回华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统在在MCS51指令系统中,位逻辑运算指令指令系统中,位逻辑运算指令是是。AANLC,bitBANLC,/bitCCLRCDORLC,bitEORLC,bit华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统对对8031单片机,下列指令要访问片外存储单片机,下列指令要访问片外存储器的是器的是。 AMOVA,#01HBMOVR0,#20HCADDA,#0EHDMOVXA,DPTREMOVCA,A+PC华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统MCS-51寻址方式中,可直接寻址的寻址空间是寻址方式中,可直接寻址的寻址空间是。片内片内RAM低低128字节字节专用寄存器专用寄存器SFR片内片内RAM可位寻址的单元可位寻址的单元20H2FH程序存储器程序存储器ROM工作寄存器工作寄存器R0R7华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统练习练习练习练习1 1 1 1设内部设内部设内部设内部RAMRAMRAMRAM中中中中33H33H33H33H单元中内容为单元中内容为单元中内容为单元中内容为44H44H44H44H,34H34H34H34H单元中内单元中内单元中内单元中内容为容为容为容为0AFH0AFH0AFH0AFH,R0R0R0R0中内容为中内容为中内容为中内容为33H33H33H33H,R1R1R1R1中内容为中内容为中内容为中内容为00H00H00H00H,给,给,给,给出以下每一条指令执行后出以下每一条指令执行后出以下每一条指令执行后出以下每一条指令执行后A A A A中的值和中的值和中的值和中的值和PSWPSWPSWPSW中中中中P P P P的值。的值。的值。的值。MOV A, #34HMOV A, #34HMOV A, #34HMOV A, #34HMOV A, 34HMOV A, 34HMOV A, 34HMOV A, 34HMOV A, R1MOV A, R1MOV A, R1MOV A, R1MOV A,R0MOV A,R0MOV A,R0MOV A,R0 注意:对注意:对注意:对注意:对PSWPSWPSWPSW中中中中P P P P标志的影响。标志的影响。标志的影响。标志的影响。华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统练练练练 习习习习 2 2 2 2设内部设内部设内部设内部RAM30HRAM30H单元中内容为单元中内容为单元中内容为单元中内容为52H52H,请给出以下程序,请给出以下程序,请给出以下程序,请给出以下程序结果:结果:结果:结果:MOVA,#30HMOVA,#30HMOVA,30HMOVA,30HMOVR0,#30HMOVR0,#30HMOVA,R0MOVA,R0MOV30H,#30HMOV30H,#30H设设设设P1P1口内容为口内容为口内容为口内容为0AAH0AAH(P1P1口地址为口地址为口地址为口地址为90H90H),请给出),请给出),请给出),请给出以下程序结果:以下程序结果:以下程序结果:以下程序结果:MOVR0,#30HMOVR0,#30HMOV10H,P1MOV10H,P1MOVA,10HMOVA,10HMOVR0,AMOVR0,AMOV40H,R0MOV40H,R0华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统本章主要知识点本章主要知识点本章主要知识点本章主要知识点指令的七种寻址方式指令的七种寻址方式指令的七种寻址方式指令的七种寻址方式vv难点:难点:难点:难点:寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址各类指令的主要功能各类指令的主要功能各类指令的主要功能各类指令的主要功能vv难点:难点:难点:难点:查表指令查表指令查表指令查表指令vv难点:难点:难点:难点:条件转移指令条件转移指令条件转移指令条件转移指令作业:作业:作业:作业:第第第第3 3 3 3章:一,二章:一,二章:一,二章:一,二 华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统寄存器寻址和直接寻址的比较寄存器寻址和直接寻址的比较对选定的工作寄存对选定的工作寄存器器R0R0R7R7、累加器、累加器A A、通用寄存器、通用寄存器B B、地址寄存器地址寄存器DPTRDPTR中的数进行操作。中的数进行操作。 例:例:MOV AMOV A,R0R0;将;将R0R0工作寄存器中的数据送到工作寄存器中的数据送到A A中去。中去。提一个问题:提一个问题:我们知道,工作寄存器就是内存单元我们知道,工作寄存器就是内存单元的一部分,如果我们选择工作寄存器组的一部分,如果我们选择工作寄存器组0 0,则,则R0R0就就是是RAMRAM的的00H00H单元,那么这样一来,单元,那么这样一来,MOV AMOV A,00H00H 和和 MOV AMOV A,R0R0不就没什么区别了吗?不就没什么区别了吗?MOV ALMOV AL,BL BL (8086CPU8086CPU的寄存器寻址方式)的寄存器寻址方式)华南农业大学工程学院华南农业大学工程学院第三章第三章MCS-51单片机指令系统单片机指令系统的确,这两条指令执行的结果是完全相同的,都的确,这两条指令执行的结果是完全相同的,都是将是将00H单元中的内容送到单元中的内容送到A中去,但是执行的过程中去,但是执行的过程不同,执行第一条指令需要不同,执行第一条指令需要2个机器周期,而第二条个机器周期,而第二条则只需要则只需要1个机器周期,第一条指令变成最终的目标个机器周期,第一条指令变成最终的目标码要两个字节码要两个字节(E5H00H),),而第二条则只要一个而第二条则只要一个字节字节(E8H)就可以了。)就可以了。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号