




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本章介绍本章介绍MCS-51单片机的指令格式、寻单片机的指令格式、寻址方式址方式(包括立即寻址、直接寻址、寄存器寻址包括立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寄存器间接寻、寄存器间接寻址、基址加变址寄存器间接寻址、相对寻址、隐含寻址等七种方式址、相对寻址、隐含寻址等七种方式)、指令系、指令系统统(包括数据传送类、算术运算类、逻辑运算类包括数据传送类、算术运算类、逻辑运算类、位操作类、控制转移类等五大类指令、位操作类、控制转移类等五大类指令)。通过。通过本章的学习,要求学生能够熟练掌握本章的学习,要求学生能够熟练掌握MCS-51单单片机的指令功能和应用。片机的指令功能和应用
2、。.指令格式指令格式 指令的表示方法称之为指令格式,其内容包括指指令的表示方法称之为指令格式,其内容包括指令的长度和指令内部信息的安排等。令的长度和指令内部信息的安排等。 一条指令通常由操作码和操作数两部分组一条指令通常由操作码和操作数两部分组成。成。操作码规定指令所完成的操作,操作数表示操操作码规定指令所完成的操作,操作数表示操作的对象。操作数可能是一个具体的数据,也可作的对象。操作数可能是一个具体的数据,也可能是指出取得数据的地址或符号。能是指出取得数据的地址或符号。.单片微机执行指令的过程单片微机执行指令的过程单片微机执行指令的过程,分为取指令和执行单片微机执行指令的过程,分为取指令和执
3、行指令两项基本内容。指令两项基本内容。在取指阶段,单片微机从程序存储器中取出指在取指阶段,单片微机从程序存储器中取出指令操作码,送到指令寄存器令操作码,送到指令寄存器IR中,通过指令译码中,通过指令译码器的译码,产生一系列的控制信号。器的译码,产生一系列的控制信号。在指令执行阶段中,利用指令译码产生的控制在指令执行阶段中,利用指令译码产生的控制信号,进行本指令规定的操作信号,进行本指令规定的操作 . 51指令系统专用于指令系统专用于51系列单片机,是一个具有系列单片机,是一个具有255种操作码种操作码 (00H至至FFH,除,除A5H外外) 的集合。的集合。用汇编语言表达操作代码时,用汇编语言
4、表达操作代码时,42种助记符代种助记符代表了表了33种功能,有的功能如数据传送,可以有几种功能,有的功能如数据传送,可以有几种助记符,如种助记符,如MOV、MOVC、MOVX。指令功能助记符与操作数各种寻址方式的结合,指令功能助记符与操作数各种寻址方式的结合,共构造出共构造出111种指令,同一种指令所对应的操作码种指令,同一种指令所对应的操作码可以多至可以多至8种种 (如指令中如指令中Rn对应寄存器对应寄存器R0R7) 。寻址方式寻址方式 .寻址寻址:在指令中给出的寻找操作数或操作数所:在指令中给出的寻找操作数或操作数所在地址的方法。在地址的方法。 执行任何一条指令都需要使用操作数。执行任何一
5、条指令都需要使用操作数。 89S5l指令系统中共有指令系统中共有7种寻址方式。种寻址方式。. 立即寻址立即寻址在指令中直接给出操作数,出现在指令中的操在指令中直接给出操作数,出现在指令中的操作数称为立即数。作数称为立即数。在立即数前面必需加上前缀在立即数前面必需加上前缀“”。 例如:指令例如:指令 MOV DPTR,1234H指令功能:把指令功能:把16位立即数位立即数1234H送入数据指送入数据指针针DPTR中。中。.2直接寻址直接寻址 在指令中直接给出操作数单元的地址。在指令中直接给出操作数单元的地址。 例如:指令例如:指令 MOV A,3AH功能:把片内功能:把片内RAM中中3AH单元内
6、的数据传送给累加器单元内的数据传送给累加器A,如,如图图所示。所示。直接寻址方式只能给出直接寻址方式只能给出8位地址,限于片内位地址,限于片内RAM: 低低128单元,在指令中直接以单元地址形式给出。单元,在指令中直接以单元地址形式给出。 特殊功能寄存器,可以单元地址形式给出外,还可特殊功能寄存器,可以单元地址形式给出外,还可以寄存器符号形式给出。直接寻址是访问特殊功能寄存器以寄存器符号形式给出。直接寻址是访问特殊功能寄存器的唯一方法。的唯一方法。 . 3寄存器寻址寄存器寻址 在指令中将指定寄存器的内容作为操作数。在指令中将指定寄存器的内容作为操作数。 寄存器寻址方式中,用符号名称来表示寄存器
7、。寄存器寻址方式中,用符号名称来表示寄存器。 例如:指令例如:指令INC R0功能:把寄存器功能:把寄存器R0的内容加的内容加1,再送回,再送回R0中。中。由于操作数在由于操作数在R0中,指定了中,指定了R0,也就得到了操作,也就得到了操作数,如数,如图图所示。所示。. 寄存器寻址方式的寻址范围包括:寄存器寻址方式的寻址范围包括: (1)4个寄存器组共个寄存器组共32个通用寄存器。个通用寄存器。 指令中只能使用当前寄存器组。通过指定指令中只能使用当前寄存器组。通过指定PSW中中的的RS1、RS0,以选择使用的当前寄存器组。,以选择使用的当前寄存器组。 (2)部分特殊功能寄存器。)部分特殊功能寄
8、存器。 例如累加器例如累加器A、AB寄存器对以及数据指针寄存器对以及数据指针DPTR。 .4寄存器间接寻址寄存器间接寻址 在指令中给出的寄存器内容是操作数的地址,从该地在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才是操作数。址中取出的才是操作数。 寄存器间接寻址也需以寄存器符号名称的形式表示。寄存器间接寻址也需以寄存器符号名称的形式表示。 在寄存器间接寻址中,在寄存器的名称前面加前缀在寄存器间接寻址中,在寄存器的名称前面加前缀“”。例如:指令例如:指令ANL A,R1 假定假定R1寄存器的内容是寄存器的内容是 60H,指令的功能是以,指令的功能是以 R1寄寄存器的内容存器的内容 6
9、0H为地址,将为地址,将60H地址单元的内容与累加器地址单元的内容与累加器A中的数相中的数相“与与” ,其结果仍存放在,其结果仍存放在A中、其功能示意请中、其功能示意请参见参见图图。. 寄存器间接寻址的寻址范围:寄存器间接寻址的寻址范围: 片内片内RAM的低的低128单元,只能采用单元,只能采用R0或或R1为间址寄存器。其形式为为间址寄存器。其形式为Ri(i0,1)。)。 片外片外RAM 的的64 KB单元,使用单元,使用DPTR作为作为间址寄存器。例如:间址寄存器。例如:MOVX A,DPTR。 片外片外RAM低低256单元,使用单元,使用R0或或R1作间址作间址寄存器。寄存器。 例如:例如
10、:MOVX A,R0。 堆栈区:堆栈操作指令堆栈区:堆栈操作指令PUSH和和POP,以,以SP作间址寄存器的间接寻址方式。作间址寄存器的间接寻址方式。. 相对寻址相对寻址在指令中给出的操作数为程序转移的偏移量。在指令中给出的操作数为程序转移的偏移量。在相对转移指令中,给出地址偏移量(以在相对转移指令中,给出地址偏移量(以“rel”表表示),把示),把PC的当前值加上偏移量就构成了程序转移的目的当前值加上偏移量就构成了程序转移的目的地址。的地址。 转移的目的地址可用如下公式表示:转移的目的地址可用如下公式表示: 目的地址目的地址(转移指令所在地址转移指令字节数转移指令所在地址转移指令字节数)re
11、l在在51的指令系统中,有许多条相对转移指令,这些指的指令系统中,有许多条相对转移指令,这些指令多数均为两字节指令只有个别的是三字节的指令。令多数均为两字节指令只有个别的是三字节的指令。偏移量偏移量rel是一个带符号的是一个带符号的8位二进制补码数,所能表位二进制补码数,所能表示的数的范围是一示的数的范围是一128127。因此,以相对转移指令。因此,以相对转移指令的所在地址为基点,向前最大可转移(的所在地址为基点,向前最大可转移(127十转移指令字十转移指令字节数)个单元地址,向后最大可转移(节数)个单元地址,向后最大可转移(128一转移指令字一转移指令字节数)个单元地址。节数)个单元地址。.
12、 例如:指令例如:指令JC 80H 若进位位若进位位C为为0,则程序计数器,则程序计数器PC中的内容中的内容加加2,即顺序往下;即顺序往下; 若进位位若进位位C为为1,则以程序计数器,则以程序计数器PC中当前值中当前值为基地址,加上偏移量为基地址,加上偏移量80H后所得结果作为该转后所得结果作为该转移指令的目的地址,其执行示意图如移指令的目的地址,其执行示意图如图图所示。所示。指令的操作码存在指令的操作码存在 1000H单元,偏移量存在单元,偏移量存在 1001H单元。执行该指令后,程序计数器单元。执行该指令后,程序计数器PC 指向指向1002 H(即当前值)。这里(即当前值)。这里80H即即
13、128,故,故1002H与与128 ( 80H )相加(补码运算)后得)相加(补码运算)后得到转移地址到转移地址 0F82H。.6变址寻址变址寻址以以DPTR或或PC为基址寄存器,累加器为基址寄存器,累加器A为变址为变址寄存器,以两者内容相加后形成的寄存器,以两者内容相加后形成的16位程序存储位程序存储器地址作为操作数地址。器地址作为操作数地址。又称基址寄存器变址寄存器间接寻址。又称基址寄存器变址寄存器间接寻址。例如:例如: MOVC A,ADPTR功能:把功能:把DPTR和和A的内容相加所得到的程序的内容相加所得到的程序存储器地址单元的内容送存储器地址单元的内容送A。. 假定指令执行前:假定
14、指令执行前: (A)54H,(,(DPTR)1256H 该指令的操作示意参见该指令的操作示意参见图图。 变址寻址形成的操作数地址为变址寻址形成的操作数地址为1256H54H12AAH,若,若12AAH单元的内容为单元的内容为00H,则该指,则该指令执行的结果是令执行的结果是A的内容为的内容为00H 。. 89S51指令系统中的变址寻址指令有如下特点:指令系统中的变址寻址指令有如下特点: 变址寻址方式只能对程序存储器进行寻址变址寻址方式只能对程序存储器进行寻址 。 变址寻址指令只有变址寻址指令只有3条条 MOVC A,ADPTR MOVC A,APC JMP ADPTR 这这3条指令都是单字节指
15、令。条指令都是单字节指令。 变址寻址方式用于查表操作。变址寻址方式用于查表操作。.7位寻址位寻址 位寻址的寻址范围:位寻址的寻址范围:(1)片内)片内RAM中的位寻址区。中的位寻址区。 片内片内RAM中的单元地址中的单元地址20H2FH,共,共16个个单元单元128位,为位寻址区,位地址是位,为位寻址区,位地址是00H7FH。 例如例如 MOV C,2BH指令的功能是把位寻址区指令的功能是把位寻址区的的2BH位状态送累加位位状态送累加位C。 (2) 可位寻址的特殊功能寄存器位。可位寻址的特殊功能寄存器位。 可供位寻址的特殊功能寄存器共有可供位寻址的特殊功能寄存器共有11个,有个,有寻址位寻址位
16、83位位. 寻址位在指令中有以下寻址位在指令中有以下4种表示方法:种表示方法: 直接使用位地址表示。直接使用位地址表示。 单元地址加位。例如单元地址加位。例如 88H单元的位单元的位5,则表示,则表示为。为。 特殊功能寄存器符号加位、例如特殊功能寄存器符号加位、例如 PSW寄存器寄存器的位的位5,可表示为:为,可表示为:为 PSW .5。 位名称表示方法,特殊功能寄存器中的一些寻位名称表示方法,特殊功能寄存器中的一些寻址位是有名称的,例如址位是有名称的,例如 PSW寄存器位寄存器位5为为F0标志标志位,则可使用位,则可使用F0表示该位。表示该位。. 对于指令中的操作数,因为指令操作常伴有从右对
17、于指令中的操作数,因为指令操作常伴有从右向左传送数据的内容,所以常把左边操作数称为向左传送数据的内容,所以常把左边操作数称为目的操作数,而右边操作数称为源操作数。目的操作数,而右边操作数称为源操作数。 89S51指令系统的指令系统的7种寻址方式概括起来如种寻址方式概括起来如表表31所列。所列。.7. 隐含寻址 操作数的地址隐含在操作码中,不需要指明,这种方式称为隐含寻址。 不是明显的给出操作数地址,而是在指令中隐含着操作数的地址, 即要寻找的地址包含在操作码中。例如在单地址指令格式中,就是不明显的给出第二操作数的地址,而是以隐含的方式规定累加器作为第二操作数的地址。 . 单字节指令单字节指令
18、指令只有一个字节,操作码和操作数同在一个指令只有一个字节,操作码和操作数同在一个字节中。字节中。如如 MOV A,Rn 指令机器码为单字节指令机器码为单字节11001rrr,其中其中rrr可表示为可表示为000111,分别代表,分别代表R0R7 . 双字节指令:其中一个字节为操作码,另一个双字节指令:其中一个字节为操作码,另一个字节是操作数。字节是操作数。如如MOV A,#data 8位立即数位立即数data需占一个字节,需占一个字节,操作码也需一个字节。操作码也需一个字节。 三字节指令:操作码占一个字节,操作数占两个三字节指令:操作码占一个字节,操作数占两个字节。其中操作数既可能是数据,也可
19、能是地址。字节。其中操作数既可能是数据,也可能是地址。. 如如ANL direct ,#data 指令需指令需3个字节,第个字节,第1字字节为操作码,第节为操作码,第2字节为字节为8位直接地址位直接地址direct,第,第3字节为字节为8位立即数位立即数data。从指令执行时间来看,单机器周期指令有从指令执行时间来看,单机器周期指令有64种,双机器周期指令有种,双机器周期指令有45种,只有乘法、除法指种,只有乘法、除法指令的执行时间为令的执行时间为4个机器周期。在个机器周期。在12MHz晶振条晶振条件下,件下,89S51的指令执行时间分别为的指令执行时间分别为1S、2S、4S。.指令分类指令分
20、类 89S51的指令系统,共有的指令系统,共有111条指令,按其功能可条指令,按其功能可分为分为5大类:大类: 数据传送类指令(数据传送类指令(28条);条); 算术运算类指令(算术运算类指令(24条);条); 逻辑运算类指令(逻辑运算类指令(25条);条); 控制转移类指令控制转移类指令(17 条条); 布尔操作(位)类指令(布尔操作(位)类指令(17条)。条)。.指令系统中使用符号说明指令系统中使用符号说明 Rn n07,表示当前寄存器组的,表示当前寄存器组的8个通用寄个通用寄存器存器R0R7 中的一个。中的一个。 Ri i0,l,可用作间接寻址的寄存器,只,可用作间接寻址的寄存器,只能是
21、能是R0、R1 两个寄存器中的一个。两个寄存器中的一个。 direct 内部的内部的8位地址,既可以指片内位地址,既可以指片内RAM的低的低128个单元地址,也可以指特殊功能寄个单元地址,也可以指特殊功能寄存器的地址或符号名称,因此,存器的地址或符号名称,因此,direct表示直接表示直接寻址方式。寻址方式。#data指令中所含的指令中所含的8位立即数。位立即数。#data16 指令中所含的指令中所含的16位立即数。位立即数。. addr16 16位目的地址位目的地址,只限于在只限于在LCALL和和LJMP指令中指令中 使用。使用。 addr11 11位目的地址,只限于在位目的地址,只限于在A
22、CALL和和AJMP指令指令中使用。中使用。 rel 相对转移指令中的偏移量,为相对转移指令中的偏移量,为8位带符号数。位带符号数。为为 SJMP和所有条件转移指令所用。转移范围为和所有条件转移指令所用。转移范围为相相 对于下一条指令笫一字节地址的对于下一条指令笫一字节地址的-128127。 DPTR 数据指针。数据指针。 bit 片内片内 RAM (包括部分特殊功能寄存器)(包括部分特殊功能寄存器)中的中的直接寻址位。直接寻址位。. A累加器。累加器。 B B寄存器。寄存器。 C 进位标志位,是布尔处理机中的累加器,进位标志位,是布尔处理机中的累加器,称之为称之为累加位。累加位。 间址寄存器
23、的前缀标志。间址寄存器的前缀标志。 / 位地址的前缀标志,表示对该位操作数取反。位地址的前缀标志,表示对该位操作数取反。 ( ) 某寄存器或某单元的内容。某寄存器或某单元的内容。 ()由)由寻址的单元中的内容。寻址的单元中的内容。 箭头左边的内容被箭头右边的内容所取箭头左边的内容被箭头右边的内容所取代。代。.(1)(1)标号:用户定义的符号地址。标号:用户定义的符号地址。 (2)(2)操作码:该字段必不可少,表示指令进操作码:该字段必不可少,表示指令进行何种操作,即操作性质。行何种操作,即操作性质。(3)(3)操作数:该字段可能有,可能没有。操作数:该字段可能有,可能没有。(4)(4)注释:该
24、字段不是汇编语言的功能部分注释:该字段不是汇编语言的功能部分,只增加程序的可读性。注释前要加,只增加程序的可读性。注释前要加“;”;”.1、内部数据传送指令内部数据传送指令 (1)以累加器A为目的地址的指令 指令 操作 MOV A, Rn (A)(Rn) MOV A, direct (A)(direct) MOV A, Ri (A)(Ri) MOV A, #data (A)data 这组指令的功能是将源操作数送入累加器A中。源操作数的寻址方式分别为寄存器寻址、直接寻址、寄存器间接寻址和立即寻址方式 .(2)以Rn为目的地址的指令 指令 操作 MOV Rn, A (Rn)(A) MOV Rn,
25、direct (Rn)(direct) MOV Rn, #data (Rn)data 这组指令的功能是将源操作数送入当前工作寄存器区R0R7中的某一寄存器中。源操作数的寻址方式分别为隐含寻址、直接寻址和立即寻址方式。.(3)(3)以直接地址为目的地址的指令以直接地址为目的地址的指令 指令指令 操作操作 MOV direct,A (direct)(A) MOV direct,Rn (direct)(Rn) MOV direct,Ri (direct)(Ri) MOV direct1,direct2 (direct1)(direct2) MOV direct,#data (direct) data
26、 这组指令的功能是将源操作数送入由直这组指令的功能是将源操作数送入由直接地址指出的存储单元中。源操作数的寻址接地址指出的存储单元中。源操作数的寻址方式分别为隐含寻址、寄存器寻址、寄存器方式分别为隐含寻址、寄存器寻址、寄存器间接寻址、直接寻址和立即寻址方式。间接寻址、直接寻址和立即寻址方式。.(4)以寄存器间接地址为目的地址的指令以寄存器间接地址为目的地址的指令 MOV Ri,A (Ri)(A) MOV Ri,direct (Ri)(direct) MOV Ri,# data (Ri) data 这组指令的功能是将源操作数送入这组指令的功能是将源操作数送入R0或或R1间址的片内间址的片内RAM存
27、储单元中。源操作存储单元中。源操作数的寻址方式分别为隐含寻址、直接寻址和数的寻址方式分别为隐含寻址、直接寻址和立即寻址方式。立即寻址方式。.注意:目操可以是A、direct、Rn、Ri中的任一个,源操可以是A、direct、Rn、Ri、#data中的任一个。#data不能作目操。目操和源操不能同时出现Rn、Ri。目操和源操不能同时为A。目操和源操可以同时为direct类型。目操和源操数据长度应保持一致。.2. 外部数据传送指令 (1) 16位数据传送指令 指令 操作 MOV DPTR, #data16 (DPTR) data16 (2)外部RAM数据传送指令MOVX 功能:实现片外数据存储器(
28、或扩展I/O口)与累加器A之间的数据传送。. 指令 操作 MOVX A,DPTR (A)(DPTR) MOVX A,Ri (A)(Ri) MOVX DPTR,A (DPTR)(A) MOVX Ri,A (Ri)(A) (3)外部ROM数据传送指令MOVCMOVC A, APC ;(A)(A)(PC) MOVC A, ADPTR;(A)(A)(DPTR) .3. 数据交换指令数据交换指令(1)字节交换指令XCH 指令 操作 XCH A, Rn (A) (Rn) XCH A, direct (A) (direct) XCH A, Ri (A) (Ri) (2)半字节交换指令XCHD 指令 操作 X
29、CHD A,Ri(A) 低4位(Ri)低4位 .压栈过程压栈过程出栈过程出栈过程(1)压栈指令PUSH 指令 操作 PUSH direct (SP)(SP)1 (SP)(direct)(2)出栈指令POP 指令 操作 POP direct (direct)(SP) (SP)(SP)14. 堆栈操作指令堆栈操作指令.算术运算类指令算术运算类指令 MCS-51单片机算术运算指令包括: 加法指令带进位加法指令带进位减法指令加1指令减1指令十进制调整指令乘法和除法指令共24条 .1、加法指令、加法指令(1)不带进位的加法指令ADD 指令 操作 ADD A, Rn (A)(A)+(Rn) ADD A,
30、direct (A)(A)+(direct) ADD A, Ri (A)(A)+(Ri) ADD A, #data (A)(A)+ data 这组加法指令的功能是将源操作数和累加器A的内容相加,结果存放在A中。源操作数分别为寄存器寻址、直接寻址、寄存器间接寻址和立即寻址方式。 .(2)带进位加法指令ADDC 指令 操作 ADDC A, Rn (A)(A)+(Rn)+CY ADDC A, direct (A)(A)+(direct)+CY ADDC A, Ri (A)(A)+(Ri)+CY ADDC A, #data (A)(A)+ data +CY 这组指令的功能是将源操作数、进位标志 CY和
31、累加器A的内容相加,结果存放在A中。ADDC指令对标志位的影响与ADD指令相同,这条指令多用于多字节加法运算,使得在进行高字节加法时,考虑到低位字节向高位字节的进位情况。 .(3)加1指令INC 指令 操作 INC A (A)(A)+1 INC Rn (Rn)(Rn)+1 INC direct (direct)(direct)+1 INC Ri (Ri)(Ri)+1 INC DPTR (DPTR)(DPTR)+1 这组指令的功能是将源操作数加1,结果仍送给源操作数(因此源操也是目操)。若原来为0FFH,则将溢出为00H。本组指令除指令INC A影响P标志外,其余不影响任何标志,操作数可采用寄存
32、器寻址、直接寻址或寄存器间接寻址方式。 .(4)BCD码加法调整指令DA 指令 操作DA A 对(A)进行二十进制调整BCD码是指用4位二进制编码形式表示1位十进制数09。如果一个字节存放两位BCD码数,则称为压缩BCD码数。调整原则为:如果相加结果的低4位大于9(即出现字母),或AC=1,则进行加06H调整;如果相加结果的高4位大于9(即出现字母),或CY=1,则进行加60H调整。调整结果仍存放在A中。 .2. 减法指令减法指令(1)带进位减法指令SUBB 指令 操作 SUBB A,Rn (A)(A)(Rn)CY SUBB A,direct (A)(A)(direct)CY SUBB A,
33、Ri (A)(A)(Ri)CY SUBB A, #data (A)(A)dataCY 这组指令的功能是将累加器A减去源操作数及进位标志CY,结果存放在A中。若需进行不带借位的减法运算,则应该先将CY清0,然后再执行SUBB指令。 .(2)减1指令DEC 指令 操作 DEC A (A)(A)1 DEC Rn (Rn)(Rn)1 DEC direct (direct)(direct)1 DEC Ri (Ri)(Ri)1 这组指令的功能是将源操作数减1,结果仍送给源操作数(因此源操也是目操)。若原来为00H,减1后下溢为0FFH。本组指令除指令DEC A影响P标志外,其余均不影响任何标志。 .3.
34、乘法指令乘法指令 MUL 指令 MUL AB 这条指令是把累加器A和寄存器B中的8位无符号二进制数相乘,16位乘积的低8位留在累加器A中,高8位存放在寄存器B中。 如果乘积大于0FFH,则OV=1,否则OV=0。CY标志总是被清0。设(A)50H,(B)0A0H,执行指令:MUL AB结果:(B)32H,(A)00H(即积为3200H),OV1,CY=0。 .4. 除法指令除法指令DIV 指令 DIV AB 这条指令的功能是把累加器A中的8位无符号二进制数除以寄存器B中的8位无符号二进制数,所得商的整数部分存放在累加器A中,余数部分存放在寄存器B中。 如果原来B的内容为0,即除数为0,则结果A
35、和B的内容不定,且溢出标志位OV=1。CY标志总是被清0。设(A)=0FBH,(B)=12H,执行指令:DIV AB结果为:(A)0DH,(B)11H,CY0,OV0。 .逻辑运算指令逻辑运算指令 3.5MCS-51单片机的逻辑运算指令包括:累加器A的逻辑操作指令两个操作数的逻辑与指令逻辑或指令及逻辑异或指令 共25条 .1. 两个操作数的逻辑操作指令 (1)逻辑与指令ANL 指令 操作 ANL A,Rn (A)(A)(Rn) ANL A,direct (A)(A)(direct) ANL A,Ri (A)(A) (Ri) ANL A,#data (A)(A) data ANL direct,
36、A (direct)(direct)(A) ANL direct,#data (direct)(direct) data .(2)逻辑或指令ORL 指令 操作 ORL A,Rn (A)(A)(Rn) ORL A,direct (A)(A)(direct) ORL A,Ri (A)(A) (Ri) ORL A,#data (A)(A) data ORL direct,A (direct)(direct)(A) ORL direct,#data (direct)(direct) data .(3)逻辑异或指令XRL 指令 操作 XRL A,Rn (A) (A) (Rn) XRL A,direct
37、(A) (A) (direct) XRL A,Ri (A) (A) (Ri) XRL A,#data (A) (A) data XRL direct,A (direct) (direct) (A) XRL direct,#data (direct) (direct) data .2. 累加器A的逻辑操作指令 (1)清0指令 指令 操作 CLR A (A)00H 这条指令的功能是将累加器A清0。只影响P标志。(2)取反指令 指令 操作_ CPL A (A) 这条指令的功能是将累加器A的每一位逻辑取,不影响标志。)A(.(3)左循环移位指令 指令 操作 RL A 这条指令的功能是将累加器A的内容向
38、左循环移1位,移入。不影响标志.(4)带进位左循环移位指令 指令 操作 RLC A 这条指令的功能是将累加器A的内容和进位标志(CY)一起向左循环移1位,移入CY,CY移入。影响进位标志和奇偶标志,不影响其它标志。.(5)右循环移位指令 指令 操作 RR A 累加器A的内容向右循环移1位。移入。不影响标志。(6)带进位右循环移位指令 指令 操作 RRC A 累加器A的内容和进位标志CY的内容一起向右循环移1位,移入CY,CY移入。影响进位标志和奇偶标志,不影响其它标志。.(7)累加器半字节交换指令 指令 操作 SWAP A (A)74(A)30 这条指令的功能是将累加器A的高4位与低4位互换,
39、不影响标志位。.位操作类指令位操作类指令 3.61.位传送指令位传送指令 指令 操作 MOV C,bit Cbit MOV bit,C bitC 这组指令的功能是在以bit表示的位和位累加器C之间进行数据传送。.2. 位修改指令位修改指令 指令 操作 CLR C C0 CLR bit bit0 CPL C C CPL bit bit SETB C C1 SETB bit bit1 这组指令的功能是将指定的位清0、取反或置1 .bit3. 位逻辑操作指令位逻辑操作指令(1)位逻辑与指令 指令 操作 ANL C,bit CCbit ANL C, CC这组指令是将指定的位地址单元内容(或取反后的内容
40、)与位累加器C的内容进行逻辑与操作,结果送入C中,源位地址单元内容不变。 bitbit.(2)位逻辑或指令 指令 操作 ORL C,bit CCbit ORL C, CC这组指令与ANL指令类似,是将指定位地址单元中的内容(或取反后的内容)与位累加器C进行逻辑或操作,结果送入C中。bitbit.控制转移类指令控制转移类指令 3.7控制转移指令分:无条件转移指令条件转移指令调用和返回指令 共有22条 .1. 无条件转移指令(1)绝对转移指令 AJMP addr11 (2)相对转移指令 SJMP rel (3)长转移指令 LJMP addr16 ;(PC)addr16(4)基址寄存器加变址寄存器间接转移指令(散转指令) JMP A+DPTR (PC)(A)+(DPTR) .2. 条件转移指令(1)条件满足转移指令 指令指令 转移条件转移条件 JZ rel (A)JZ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届云南红河州第一中学高三3月模拟检测试题物理试题含解析
- 湖北省普通高中联考协作体2025届高三下学期统练(七)化学试题含解析
- 曲靖师范学院《信息资源组织与管理》2023-2024学年第二学期期末试卷
- 指甲美容市场调查问卷
- 关于家庭花草种植调查问卷
- 粉煤灰施工方案
- 水泥库清库施工方案
- 水处理建筑施工方案
- 室外保温施工方案
- 2025年学生分班测试题及答案
- 老舍读书分享名著导读《猫城记》
- 学科国际发展趋势
- 初一年级班级日志记载表(详)
- 建设工程安全生产管理习题库及答案
- 项目1 多旋翼无人机的组装与调试
- 供应链管理:高成本、高库存、重资产的解决方案 第2版
- 马克笔建筑快速表现
- 日本夏日祭活动鉴赏
- 中国教育史笔记全
- 某工业锅炉安装工程监理作业指导书
- 名校《强基计划》初升高衔接数学讲义(上)
评论
0/150
提交评论