版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:021单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录本章教学要求(1 1)熟悉)熟悉MCS-51MCS-51单片机指令系统的分类、格式。单片机指令系统的分类、格式。(2 2)熟悉)熟悉MCS-51MCS-51指令系统的指令系统的7 7种寻址方式。种寻址方式。(3 3)掌握)掌握MCS-51MCS-51指令系统的数据传送、算术和逻指令系统的数据传送、算术和逻辑运算、转移操作、布尔运算等指令。辑运算、转移操作、布尔运算等指令。(4 4)掌握)掌握MCS-51MCS-51指令系统的各种指令对寄存器资指令系统的各种指令对
2、寄存器资源的占用情况。源的占用情况。(5 5)熟悉汇编语言程序设计的基本步骤和方法。)熟悉汇编语言程序设计的基本步骤和方法。(6 6)掌握)掌握MCS-51MCS-51汇编语言的顺序、分支、循环、汇编语言的顺序、分支、循环、查表及子程序的结构及编程方法。查表及子程序的结构及编程方法。5:022单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录本 章 目 录5:023单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1 指令系统简介指令系统指令系统 计算机所有指令的计算机所有指令的集合集合,称为该计算机,称为该计算机的指令系统。每种计算机都有它自己特有的的指令系统。每
3、种计算机都有它自己特有的指令系统。指令是指计算机执行某种操作指令系统。指令是指计算机执行某种操作(如传送数据、做算术运算等)的命令。(如传送数据、做算术运算等)的命令。5:024单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-指令的两种格式要让计算机工作,就得向计算机发出指令。要让计算机工作,就得向计算机发出指令。指令的格式是指令的格式是机器码指令格式机器码指令格式,如:如:75905B 75905B ,即数字格式。,即数字格式。另一种指令格式,即另一种指令格式,即汇编指令格式汇编指令格式,如:如:MOV P1, #5BHMOV P1, #5BH5:025单片机原理与接口技术(
4、第3版).李晓林.电子工业出版社返回目录3.1.1 指令系统的分类 MCS-51单片机能够识别并执行的指令共有单片机能够识别并执行的指令共有111条。条。按指令所占字节数、指令执行时间和指令功能进按指令所占字节数、指令执行时间和指令功能进行分类。行分类。1按指令所占字节数分类按指令所占字节数分类 1) 单字节指令(单字节指令(49条)条) 2) 双字节指令(双字节指令(46条)条) 3) 三字节指令(三字节指令(16条)条)5:026单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录2按指令执行时间分类1) 1) 单周期指令(单周期指令(6464条)条)2) 2) 双周期指令(双周
5、期指令(4545条)条)3) 3) 四周期指令(四周期指令(2 2条)条)5:027单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录1) 数据传送类指令(数据传送类指令(29条)条)2) 算术运算类指令(算术运算类指令(24条)条)3) 逻辑运算类指令(逻辑运算类指令(24条)条)4) 控制转移类指令(控制转移类指令(17条)条)5) 位操作类指令(位操作类指令(17条)条)5:028单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.2 指令格式 指令由指令由操作码操作码和和操作数操作数组成。组成。操作码操作码用来规定要用来规定要执行的操作的性质(功能),执行
6、的操作的性质(功能),操作数操作数为指令的操作提为指令的操作提供数据和地址。供数据和地址。1指令的基本格式指令的基本格式符号地址符号地址: 操作码操作码 操作数操作数1 ,操作数,操作数2 ,操作数,操作数3 ;注释;注释 其中其中符号地址符号地址和操作码之间用和操作码之间用“:”作为分隔符,作为分隔符,也可再加上若干空格。操作码和操作数之间用空格作也可再加上若干空格。操作码和操作数之间用空格作为分隔符。操作数之间用为分隔符。操作数之间用“,”作为分隔符。注释之作为分隔符。注释之前用前用“;”作为分隔符。作为分隔符。5:029单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录一条指
7、令必须在一行中写完。例如:一条指令必须在一行中写完。例如:MAIN:MOV A,#10H ;主程序段;主程序段MAIN为符号地址(标号);为符号地址(标号);MOV为操作码;为操作码;A,#10H为二个操作数;为二个操作数;最后是注释。最后是注释。 指令在送入计算机执行之前,必须先转换成指令在送入计算机执行之前,必须先转换成机器语言形式。转换成机器语言的过程称为汇编。机器语言形式。转换成机器语言的过程称为汇编。5:0210单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.3 指令中的常用符号 为了便于阅读指令,为了便于阅读指令,MCS-51指令助记符中的一指令助记符中的一些
8、常用符号约定如下。些常用符号约定如下。Rn:表示当前工作寄存器:表示当前工作寄存器R0R7中的一个。中的一个。Ri:表示寄存器间接寻址,常作间接寻址的地:表示寄存器间接寻址,常作间接寻址的地址指针。其中址指针。其中Ri代表代表R0和和R1寄存器中的一个。寄存器中的一个。direct:表示内部数据存贮器单元的地址及特殊:表示内部数据存贮器单元的地址及特殊功能寄存器功能寄存器SFR的地址,对的地址,对SFR而言,既可使用而言,既可使用它的物理地址,也可直接使用它的名字。它的物理地址,也可直接使用它的名字。5:0211单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.3 指令中的
9、常用符号#data:表示:表示8位立即数,即位立即数,即8位常数,取值范围位常数,取值范围为为#00H#0FFH。#data16:表示:表示16位立即数,即位立即数,即16位常数,取值位常数,取值范围为范围为#0000H#0FFFFH。addr16:表示:表示16位地址。位地址。addr11:表示:表示11位地址。位地址。rel:用补码形式表示的地址偏移量,取值范围:用补码形式表示的地址偏移量,取值范围为为-128+127。bit:表示内部:表示内部RAM和和SFR中的具有位寻址功能中的具有位寻址功能的位地址。的位地址。5:0212单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录
10、3.1.3 指令中的常用符号:表示寄存器间接寻址或基址加变址寄存器:表示寄存器间接寻址或基址加变址寄存器的前缀符号。的前缀符号。$:表示当前指令的地址。表示当前指令的地址。/: 位操作数的前缀,表示对该位操作数取反,位操作数的前缀,表示对该位操作数取反,如:如:/bit。(x):表示存储单元:表示存储单元x的内容。的内容。(x):表示以寄存器或存储单元:表示以寄存器或存储单元x的内容作为的内容作为地址的存储单元的内容。地址的存储单元的内容。:表示数据传送方向。:表示数据传送方向。5:0213单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.4 寻址方式寻址方式寻址方式是在地
11、址范围内如何找到所需要的操作是在地址范围内如何找到所需要的操作数的地址。数的地址。 MCS-51指令系统的寻址方式主要有指令系统的寻址方式主要有立即寻址、立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址加变址寻址、相对寻址和位寻址等七种。等七种。5:0214单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.4 寻址方式立即寻址中的源操作数,称为立即寻址中的源操作数,称为立即数立即数。例如:例如:MOV A, #30H MOV A, #30H ;30HA30HA5:0215 直接寻址方式的操作数指的是内
12、部数据存储器直接寻址方式的操作数指的是内部数据存储器中存放数据的地址,或存放数据的一个特殊功能寄中存放数据的地址,或存放数据的一个特殊功能寄存器地址。存器地址。例如:例如:MOV A, 30H ;(30H)A单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录直接寻址方式可访问的范围直接寻址方式可访问的范围1) 特殊功能寄存器特殊功能寄存器这部分存储单元既可以用单元地址给出,也可这部分存储单元既可以用单元地址给出,也可以用寄存器符号的形式给出。如:以用寄存器符号的形式给出。如:MOV A, 90H 或或 MOV A, P1为同一条指令的两种写法。为同一条指令的两种写法。2) 内部数据
13、存储器的低内部数据存储器的低128个字节单元个字节单元直接以单元地址的形式给出直接以单元地址的形式给出对于对于8032/8052等等单片机,其内部高单片机,其内部高128字节字节RAM(80HFFH)不)不能用直接寻址方式访问能用直接寻址方式访问。5:02163) 位地址空间位地址空间单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-寄存器寻址例如:例如:MOV A, R5(1) 4个工作寄存器组共个工作寄存器组共32个通用寄存器(在指令中只能个通用寄存器(在指令中只能使用当前寄存器组)使用当前寄存器组)(2) 部分特殊功能寄存器。如部分特殊功能寄存器。如A,B,DPTR。5:0
14、217寄存器寄存器间接寻址是指操作数据存放在以寄存器内容为地址间接寻址是指操作数据存放在以寄存器内容为地址的单元中。如:的单元中。如:MOV A, R0 ;(R0)MOV A, R0 ;(R0)A A 单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录寄存器间接寻址的寻址范围:1) 内部低内部低128字节单元字节单元(只能使用(只能使用R0、R1作间址寄作间址寄存器)。存器)。2) 外部数据存储器外部数据存储器(64KB字节,使用字节,使用DPTR作间址作间址寄存器。另外,外部低寄存器。另外,外部低128B单元也可用单元也可用R0、R1作间址寄存器寻址)。作间址寄存器寻址)。3)
15、在在堆栈操作指令堆栈操作指令(PUSH、POP)中,以堆栈指)中,以堆栈指针针SP作间址寄存器,寻址空间为片内作间址寄存器,寻址空间为片内RAM。5:0218单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-基址变址寻址累加器累加器A作变址寄存器作变址寄存器、程序计数器程序计数器PC或寄存器或寄存器DPTR作基址寄存器作基址寄存器。基址加变址寻址方式常用于。基址加变址寻址方式常用于查表操查表操作作。如:。如:MOVC A, A+PC ;PC+1PC,(A+PC)AMOVC A, A+DPTR ;(A+DPTR)A5:0219相对寻址是将程序计数器相对寻址是将程序计数器PC的当前值
16、与指令第二字节给的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。出的偏移量相加,从而形成转移的目标地址。 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG ORG 0030H0030HMAIN: MOV AMAIN: MOV A,#50H#50H单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-位寻址位寻址位寻址是指对片内是指对片内RAM中中20H2FH中的中的128个位地址,以及个位地址,以及SFR中的中的11个可进行位寻址的寄存个可进行位寻址的寄存器中的位地址寻址(可位寻址的特殊功能寄存器器中的位地址寻址(可位寻址的特殊功能
17、寄存器有有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。例如:)。例如:MOV C, 20H5:0220单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-位寻址的表示形式1) 直接使用位地址直接使用位地址包括位寻址区的位地址包括位寻址区的位地址00H7FH和部分特殊功能寄和部分特殊功能寄存器的位地址。例如,存器的位地址。例如,PSW寄存器第寄存器第2位的位地址为位的位地址为D2H。2) 位名称表示法位名称表示法专用寄存器中的一些寻址位是有符号名的,对其进行专用寄存器中的一些寻址位是有符号名的,对其进行位寻址时可用其符号名,例如,位寻址时可用其符号名,例如,PSW
18、寄存器的第寄存器的第2位可位可用用OV表示。表示。3) 单元地址加位表示法单元地址加位表示法例如,例如,2F单元的第单元的第1位,可表示为位,可表示为2FH.1。再如,再如,D0H单元(单元(PSW)的第)的第2位,可表示为位,可表示为D0H.2。5:0221单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.4 寻址方式4) 专用寄存器名称加位表示法专用寄存器名称加位表示法例如,例如,PSW寄存器的第寄存器的第2位可表示为:位可表示为:PSW.2。对于可位寻址的特殊功能寄存器,上面对于可位寻址的特殊功能寄存器,上面4种表示法种表示法是等效的。以读取是等效的。以读取PSW第二
19、位为例的第二位为例的4种位寻址指种位寻址指令如下:令如下:MOV C, 0D2H ;直接使用位地址寻址直接使用位地址寻址MOV C, OV ;使用位名称寻址使用位名称寻址MOV C, 0D0H.2 ;使用单元地址加位表示法寻址使用单元地址加位表示法寻址MOV C, PSW.2 ;使用专用寄存器名称加位表示法寻址使用专用寄存器名称加位表示法寻址5:0222单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.1.4 寻址方式在在MCS-51单片机的指令系统中,指令对哪一个单片机的指令系统中,指令对哪一个存储器空间进行操作,是由指令的操作码和寻址方存储器空间进行操作,是由指令的操作码和
20、寻址方式确定的。式确定的。1)对程序存储器只能采用立即寻址和基址加变对程序存储器只能采用立即寻址和基址加变址寻址方式;址寻址方式;2)对特殊功能寄存器只能采用直接寻址方式,对特殊功能寄存器只能采用直接寻址方式,不能采用寄存器间接寻址;不能采用寄存器间接寻址; 5:0223单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3)对对8032/8052等单片机内部等单片机内部RAM的高的高128个字个字节(节(80HFFH),只能采用寄存器间接寻址,不能),只能采用寄存器间接寻址,不能使用直接寻址方式;使用直接寻址方式;4)对位操作指令只能对位寻址区操作;对位操作指令只能对位寻址区操作;
21、5)外部扩展的数据存储器只能用外部扩展的数据存储器只能用MOVX指令访指令访问;问;6)内部内部RAM的低的低128个字节(个字节(00H7FH)既能)既能用直接寻址,也能用间接寻址。用直接寻址,也能用间接寻址。5:0224单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录存储空间对应的寻址方式5:0225单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2 指令系统MCS-51的数据传送指令共有的数据传送指令共有29条。助记符有条。助记符有MOV、MOVC、MOVX、XCH、XCHD、PUSH、POP。数据传送指令一般的操作是把源操作数传送到目的操数据传送指令一般
22、的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指失,则不能用直接传送指令,而采用交换型的数据传送指令。数据传送指令不影响标志令。数据传送指令不影响标志Cy、AC和和OV,但可能会,但可能会对奇偶标志对奇偶标志P有影响。有影响。5:0226单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-传送指令列表5:0227单片机原理与接口技术(第3版).李晓林.电
23、子工业出版社返回目录-传送指令列表5:0228单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符 功能说明功能说明MOV A, Rn ;(Rn)ARn中的内容送到累加器中的内容送到累加器A中中MOV A, direct ;(direct) A直接地址单元中的内容送到直接地址单元中的内容送到 累加器累加器A中中MOV A, Ri;(Ri) A Ri内容指向的地址单元中的内容指向的地址单元中的 内容送到累加器内容送到累加器A中中MOV A, #data;dataA立即数送到累加器立即数送到累加器A中中功能:将源操作数指定内容送到累加器功能:将源操作数指定内容送到累加器A中。
24、中。5:0229单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符功能说明功能说明MOV Rn, A;(A)Rn 累加器累加器A中的内容送到寄存中的内容送到寄存 器器Rn中中MOV Rn, direct ;(direct) Rn直接寻址单元中的直接寻址单元中的 内容送到寄存器内容送到寄存器Rn中中MOV Rn, #data ;dataRn 立即数直接送到寄存器立即数直接送到寄存器 Rn中中功能:将源操作数指定的内容送到所选定的工作寄存功能:将源操作数指定的内容送到所选定的工作寄存器器Rn中。中。5:0230单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5
25、:0231单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录功能:将源操作数指定的内容送到由直接地址指出的片内存储单功能:将源操作数指定的内容送到由直接地址指出的片内存储单元中。如:元中。如:MOV 20H, A;累加器累加器A中的内容送到中的内容送到20H直接地址单元中直接地址单元中MOV 20H, R1;寄存器寄存器R1中的内容送到中的内容送到20H直接地址单元中直接地址单元中MOV 20H, 30H;30H直接地址单元中的内容送到直接地址单元中的内容送到20H直接地直接地址单元中址单元中MOV 20H, R1;以寄存器以寄存器R1中的内容为地址的单元中内容送中的内容为地址的单
26、元中内容送到到20H直接地址单元中直接地址单元中MOV 20H, #34H ;立即数送到立即数送到20H直接地址单元中直接地址单元中MOV P2, #34H;立即数送到立即数送到P2直接地址单元中直接地址单元中5:0232单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符 功能说明功能说明MOV Ri, AMOV Ri, A;(A)(Ri);(A)(Ri)累加器累加器A A中内容送到以中内容送到以RiRi中内容为地址的中内容为地址的RAMRAM单元中单元中MOV Ri, direct ;(direct) (Ri)MOV Ri, direct ;(direct) (Ri)
27、直接地址单直接地址单元中内元中内 容送到以容送到以RiRi中内容为地址的中内容为地址的RAMRAM单元中单元中MOV Ri, #data ;data(Ri) MOV Ri, #data ;data(Ri) 立即数送到以立即数送到以RiRi中内中内容容 为地址的为地址的RAMRAM单元中单元中5:0233单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录功能:将源操作数指定的内容送到以功能:将源操作数指定的内容送到以R0或或R1为地址指为地址指针的片内针的片内RAM存储单元中。如:存储单元中。如:MOV R0, A;累加器累加器A中内容送到以中内容送到以R0中内容为中内容为 地址的地
28、址的RAM单元中单元中MOV R1, 20H ;20H单元中内容送到以单元中内容送到以R1中内容为中内容为 地址的地址的RAM单元中单元中MOV R0, #34H ;立即数立即数34H送到以送到以R0中内容为地中内容为地 址的址的RAM单元中单元中5:0234单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符 功能说明功能说明MOV DPTR, #data16MOV DPTR, #data16;dataHDPH;dataHDPH,dataLDPLdataLDPL ;16 ;16位常数的高位常数的高8 8位送到位送到DPHDPH,低,低8 8位送到位送到DPLDPL功能:
29、将一个功能:将一个1616位的立即数送到位的立即数送到DPTRDPTR中去。其中高中去。其中高8 8位送入位送入DPHDPH,低,低8 8位送入位送入DPLDPL。如:。如:MOV DPTR, #1234HMOV DPTR, #1234H; ;指令执行后指令执行后DPHDPH中的值为中的值为 12H12H,DPLDPL中的值为中的值为34H34H5:0235单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0236单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0237单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录功能:在功能:在MCS-51中
30、,与外部存储器中,与外部存储器RAM打交道的只可以打交道的只可以是是A累加器。所有需要送入外部累加器。所有需要送入外部RAM的数据必须通过的数据必须通过A传送,传送,而所有要读入的外部而所有要读入的外部RAM中的数据也必须通过中的数据也必须通过A读入。读入。在此我们可以看出内外部在此我们可以看出内外部RAM的区别,内部的区别,内部RAM间可以直间可以直接进行数据传递,而外部接进行数据传递,而外部RAM则不行。则不行。例如,要将外部例如,要将外部RAM中某一单元(假设为中某一单元(假设为0100H单元的数单元的数据)送入另一个单元(假设为据)送入另一个单元(假设为0200H单元),则必须先将单元
31、),则必须先将0100H单元中的内容读入单元中的内容读入A,然后再送到,然后再送到0200H单元中去。单元中去。5:0238单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0239单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-传送指令应用例例3-1 将外部将外部RAM的的100H单元中内容送入外部单元中内容送入外部RAM的的200H单元中。单元中。MOVDPTR, #0100HMOVXA, DPTRMOVDPTR, #0200HMOVXDPTR, A5:0240单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符 功能说明功能说明MOV
32、C A, A+DPTR ;(A)+(DPTR) A表格地址表格地址 ;单元中的内容送到累加器单元中的内容送到累加器A中中MOVC A, A+PC;(PC)+1PC,(A)+(PC) A ;表格地址单元中的内容送到累加器表格地址单元中的内容送到累加器A中中功能:将功能:将ROM中的数据送到中的数据送到A中。常用此指令来查一个中。常用此指令来查一个已存储在已存储在ROM中的数据表格。这组指令也称为查表指令。中的数据表格。这组指令也称为查表指令。5:0241单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0242单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-传送指
33、令应用例例3-2 有一个有一个110的平方表存放在的平方表存放在0100H开始的开始的ROM中,中,用用DPTR和和R0基址基址+变址的寻址方式实现查表功能,确定变址的寻址方式实现查表功能,确定110(在(在R0中)的平方值。中)的平方值。MOVDPTR, #0100HMOVA, R0MOVCA, A+DPTR.ORG 0100 ;ORG是指明后面数据块的起始地址是指明后面数据块的起始地址DB0,1, 4, 9, 16, 25, 36DB49, 64, 81, 100 ;DB是定义字节指令是定义字节指令5:0243单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0244单片机
34、原理与接口技术(第3版).李晓林.电子工业出版社返回目录功能:第功能:第1条为压入堆栈指令,就是将条为压入堆栈指令,就是将direct中的内容中的内容送入堆栈中;第送入堆栈中;第2条为弹出堆栈指令,就是将堆栈中条为弹出堆栈指令,就是将堆栈中的内容送回到的内容送回到direct中。如:中。如: MOVSP, #5FH MOVA, #100 MOVB, #20 PUSHACC PUSHB5:0245单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0246单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0247单片机原理与接口技术(第3版).李晓林.电子工业出版社
35、返回目录-传送指令应用例例3-3 假设假设A中内容为中内容为34H,R0指向的单元内容为指向的单元内容为56H。执行下列指令后看结果。执行下列指令后看结果。MOV R6, #29H ;R6=29HXCH A, R6 ;A=29H,R6=34HSWAP A ;A=92HXCH A, R6 ;A=34H,R6=92HXCHD A, R0 ;A=36H,(R0)=54H5:0248单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令MCS-51的算术运算指令共有的算术运算指令共有24条。助记条。助记符有符有ADD、ADDC、SUBB、DA、INC、DEC、MUL、
36、DIV。算术运算主要是执行加、减、乘、除法四算术运算主要是执行加、减、乘、除法四则运算。则运算。5:0249单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令5:0250单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0251单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令5:0252单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令例例3-4 设设1067H存在于存在于R1R0中,中,30A0H存在于存在于R3R2中,计算中,计算R1R0+R3R2,结果存于,
37、结果存于R5R4中。中。MOV A, R0ADD A, R2;R0+R2A和和CyMOV R4, AMOV A, R1ADDC A, R3;R1+R3+CyA和和CyMOV R5, A5:0253 R1 R0+R3 R2 R5 R4单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令例例3-5 设设A=12H,R0=33H,(21H)=32H,(34H)=22H,DPTR=1234H。连续执行下面指。连续执行下面指令后看相应寄存器和单元中的结果。令后看相应寄存器和单元中的结果。INC A;A=13HINC R0;R0=34HINC 21H;(21H)=33H
38、INC R0;(34H)=23HINC DPTR;DPTR=1235H5:0254单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令 十进制调整指令(十进制调整指令(1 1条)条) DA ADA A 在进行在进行BCDBCD码加法运算时,跟在码加法运算时,跟在ADDADD和和ADDCADDC指令之后,用指令之后,用来对来对A A累加器中的累加器中的BCDBCD码加法运算结果进行自动修正。码加法运算结果进行自动修正。 如:设如:设A=00010101BCDA=00010101BCD(代表十进制数(代表十进制数1515) ADD A, #8 ;A=000111
39、01BADD A, #8 ;A=00011101B,按二进制规律相,按二进制规律相加加 DA A ;A=00100011BCDDA A ;A=00100011BCD(代表十进(代表十进制制2323),), 调整为十进制的调整为十进制的BCD BCD 码码 (实现按十进制规律(实现按十进制规律加)加)5:0255单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令乘法指令(乘法指令(1 1条)条) MUL AB ;(A)MUL AB ;(A)(B)A(B)A和和B B累加器累加器A A中的内中的内容与寄存器容与寄存器B B中的内容相乘,结果存在中的内容相乘,结
40、果存在A A和和B B中中 功能:将功能:将A A和和B B中的两个中的两个8 8位无符号数相乘,两位无符号数相乘,两数相乘结果一般比较大,因此最终结果用数相乘结果一般比较大,因此最终结果用1 1个个1616位位数来表达,其中高数来表达,其中高8 8位放在位放在B B中,低中,低8 8位放在位放在A A中。中。在乘积大于在乘积大于FFHFFH时,时,OVOV置置1 1,否则,否则OVOV为为0 0,而,而CyCy总是总是0 0。 如:设如:设A=4EHA=4EH,B=5DHB=5DH,执行指令,执行指令 MUL AB MUL AB 后,乘积是后,乘积是1C56H1C56H。所以在。所以在B B
41、中放的是中放的是1CH1CH,而,而A A中放的则是中放的则是56H56H,并且,并且OV=1OV=1,P=0P=0。 5:0256单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.2 算术运算类指令除法指令(除法指令(1 1条)条) DIV AB ;(A)DIV AB ;(A)(B)A(B)A和和B B 累加器累加器A A中的中的内容除以寄存器内容除以寄存器B B中的内容,所得到的商存在累加中的内容,所得到的商存在累加器器A A中,而余数存在寄存器中,而余数存在寄存器B B中。中。 功能:将功能:将A A中的中的8 8位无符号数除以位无符号数除以B B中的中的8 8位无符
42、位无符号数(号数(A/BA/B)。结果商放在)。结果商放在A A中,余数放在中,余数放在B B中。中。CyCy和和OVOV都是都是0 0。 如果在作除法前如果在作除法前B B中的值是中的值是00H00H,也就是除数为,也就是除数为0 0,那么,那么OV=1OV=1。 如:设如:设A=11HA=11H,B=04HB=04H,执行指令,执行指令 DIV ABDIV AB后,后,A=04HA=04H,B=01HB=01H;Cy=0Cy=0,OV=0OV=0,P=1P=1。5:0257单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.3 逻辑运算类指令逻辑运算和移位指令共有逻辑运算
43、和移位指令共有24条,助记符有条,助记符有ANL、ORL、XRL、CLR、CPL、RL、RLC、RR、RRC。有与、或、异或、求反、左。有与、或、异或、求反、左/右移右移位、清位、清0等逻辑操作,有直接、寄存器和寄存器等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。这类指令一般不影响程序状间址等寻址方式。这类指令一般不影响程序状态字(态字(PSW)标志。)标志。MCS-51指令系统的逻辑指令系统的逻辑运算指令见表运算指令见表3-5。5:0258单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0259单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0260单
44、片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录助记符助记符 功能说明功能说明ORL A, Rn ;(A)(Rn)AORL A, direct ;(A)(direct)AORL A, Ri ;(A)(Ri)AORL A, #data ;(A)dataAORL direct, A ;(direct)(A)directORL direct, #data ;(direct)datadirect 5:0261单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0262功能:将两个单元中的内容执行逻辑或操作。如果功能:将两个单元中的内容执行逻辑或操作。如果目的操作数的直接地址是
45、目的操作数的直接地址是I/O地址,则为地址,则为“读读修改修改写写”操作。如:操作。如:MOV A, #45H;A=45HMOV R1, #25H ;R1=25HMOV 25H, #39H;(25H)=39HORLA, R1;45H39H = 7DH, A = 7DHORL25H, #13H;39H13H = 3BH, (25H) = 3BHORL25H, A;3BH7DH =7FH, (25H) = 7FH单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0263助记符助记符 功能说明功能说明ANL A, Rn ;(A)(Rn)AANL A, direct ;(A)(dire
46、ct)AANL A, Ri ;(A)(Ri)AANL A, #data ;(A)dataAANL direct, A ;(direct)(A)directANL direct, #data ;(direct)datadirect单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0264功能:将两个单元中的内容执行逻辑与操作。如果目的功能:将两个单元中的内容执行逻辑与操作。如果目的操作数的直接地址是操作数的直接地址是I/O地址,则为地址,则为“读读修修改改写写”操作。如:操作。如:MOV A, #45H;A=45HMOV R1, #25H;R1=25HMOV 25H, #79H;
47、(25H)=79HANLA, R1;45H79H = 41H, A = 41HANL25H, #15H;79H15H = 11H, (25H) = 11HANL25H, A;11H41H = 01H, (25H) = 01H单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:02653逻辑异或指令(逻辑异或指令(6条)条)单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0266单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0267单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0268单片机原理与接口技术(第3版).李晓林.
48、电子工业出版社返回目录5:0269单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0270单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.4 控制转移类指令控制转移指令有控制转移指令有1717条,助记符有:条,助记符有:ACALLACALL、LCALLLCALL、RETRET、RETIRETI、AJMPAJMP、LJMPLJMP、SJMPSJMP、JMPJMP、CJNECJNE、DJNZDJNZ、JZJZ、JNZJNZ、NOPNOP。控制转移指令用于控制程序的流向,所控制控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间。的范围即为程序存储器
49、区间。5:0271单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录3.2.4 控制转移类指令5:0272单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0273单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录5:0274单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-无条件转移类指令(4条)1) 1) 短转移类指令短转移类指令 A J M P a d d r 1 1 ; ( P C ) + 2 P CA J M P a d d r 1 1 ; ( P C ) + 2 P C ,addr11PC.10addr11PC.10PC.0PC
50、.0,程序计数器赋予新值,程序计数器赋予新值 (1111位地位地址),址),PC.15PC.15PC.11PC.11不改变,程序跳转到新不改变,程序跳转到新PCPC值指向的值指向的地址处地址处2) 2) 长转移类指令长转移类指令 LJMP addr16 LJMP addr16 ;addr16PC;addr16PC,给程序计数,给程序计数器赋予新值(器赋予新值(1616位地址),程序跳转到新位地址),程序跳转到新PCPC值指向的地值指向的地址处址处3) 3) 相对转移指令相对转移指令 SJMP rel SJMP rel ;(PC)+2+relPC;(PC)+2+relPC,当前程序计数,当前程序
51、计数器的值先加上器的值先加上2 2再加上偏移量后给程序计数器赋予新值,再加上偏移量后给程序计数器赋予新值,程序跳转到新程序跳转到新PCPC值指向的地值指向的地 址处址处5:0275单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录-无条件转移类指令(4条)4) 4) 间接转移指令间接转移指令 JMP A+DPTR ;(A)+(DPTR)PCJMP A+DPTR ;(A)+(DPTR)PC,累加器的值加上,累加器的值加上数据指针的值后给程序计数器赋予新值,程序跳转到新数据指针的值后给程序计数器赋予新值,程序跳转到新PCPC值指向的地址处值指向的地址处 上面前上面前3 3条指令的区别如
52、下条指令的区别如下: : (1) (1) 跳转范围不同。跳转范围不同。 AJMP addr11AJMP addr11; ;短跳转范围:短跳转范围:2 KB2 KB LJMP addr16 LJMP addr16; ;长跳转范围:长跳转范围:64 KB64 KB SJMP rel SJMP rel; ;相对跳转范围:相对跳转范围:128128+127+127 (2) (2) 指令构成不同。指令构成不同。AJMPAJMP和和LJMPLJMP后跟的是绝对地址,后跟的是绝对地址,而而SJMPSJMP后跟的是相对地址。后跟的是相对地址。5:0276单片机原理与接口技术(第3版).李晓林.电子工业出版社返
53、回目录 MOV DPTR, #TAB ;将将TAB代表的地址送入代表的地址送入DPTR JMP A+DPTR;跳转跳转 TAB: AJMP ROUT0;A=0时时,跳转到跳转到ROUT0TAB+2: AJMP ROUT1;A=2时时,跳转到跳转到ROUT1TAB+4: AJMP ROUT2;A=4时时,跳转到跳转到ROUT2TAB+6: AJMP ROUT3;A=6时时,跳转到跳转到ROUT3.ROUT0:.ROUT1: .ROUT2: .ROUT3: .5:0277单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录判判A A内容是否为内容是否为0 0转移指令(转移指令(2 2条)
54、条) JZ rel JZ rel ; ;若若A=0A=0,则,则(PC)+2+relPC(PC)+2+relPC。累加器。累加器中的内容为中的内容为0 0,则程序转移到偏移量所指向的地址处,则程序转移到偏移量所指向的地址处,否则程序往下执行否则程序往下执行 JNZ rel JNZ rel ; ;若若A0A0,则,则(PC)+2+relPC(PC)+2+relPC。累加器中。累加器中的内容不为的内容不为0 0,则程序转移到偏移量所指向的地址处,则程序转移到偏移量所指向的地址处,否则程序往下执行否则程序往下执行功能:程序转移到相对于当前功能:程序转移到相对于当前PCPC值的值的8 8位偏移量的地址
55、处。位偏移量的地址处。即:新的即:新的PCPC值值= =当前当前PCPC值值+2+2+偏移量偏移量relrel。在编写汇编语。在编写汇编语言源程序时,可以将言源程序时,可以将relrel理解成标号,直接写成:理解成标号,直接写成:JZ JZ 标号标号; ;即程序转移到标号处即程序转移到标号处5:0278单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录例例3-7 条件转移程序结构举例。条件转移程序结构举例。MOV A, R0JZL1MOV R1, #00HAJMP L2L1:MOV R1, #0FFHL2:SJMP L2在执行上面这段程序前,在执行上面这段程序前,如果如果R0=0,
56、结果是,结果是R1=0FFH;如果如果R00,结果是,结果是R1=00H。把上面例子中的把上面例子中的JZ改成改成JNZ后,后,如果如果R0=0,结果是,结果是R1=00H;如果如果R00,结果是,结果是R1=0FFH。5:0279单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录比较不等转移指令(比较不等转移指令(4 4条)条)CJNE A, #data, rel CJNE A, #data, rel ; ;若若AdataAdata,则,则(PC)+3+relPC(PC)+3+relPC。累加器中的内容不等于立即数,则程序转移到偏移量所指向的地累加器中的内容不等于立即数,则程序转
57、移到偏移量所指向的地 址处,否则程序往下执行址处,否则程序往下执行CJNE A, direct, rel CJNE A, direct, rel ; ;若若A(direct)A(direct),则,则(PC)+3+relPC(PC)+3+relPC。累。累加器中的内容不等于直接地址单元中的内容,则程序转移到偏移加器中的内容不等于直接地址单元中的内容,则程序转移到偏移量所指向的地址处,否则程序往下执行量所指向的地址处,否则程序往下执行CJNE Rn, #data, rel CJNE Rn, #data, rel ; ;若若RndataRndata,则,则(PC)+3+relPC(PC)+3+re
58、lPC。工作。工作寄存器寄存器RnRn中的内容不等于立即数,则程序转移到偏移量所指向的中的内容不等于立即数,则程序转移到偏移量所指向的地址处,否则程序往下执行地址处,否则程序往下执行CJNE Ri, #data, rel CJNE Ri, #data, rel ; ;若若(Ri)data(Ri)data,则,则(PC)+3+relPC(PC)+3+relPC。工作寄存器。工作寄存器RiRi指向地址单元中的内容不等于立指向地址单元中的内容不等于立即数,则程序转移到偏移量所指向的地址处,否则程序往下执行即数,则程序转移到偏移量所指向的地址处,否则程序往下执行 5:0280单片机原理与接口技术(第3
59、版).李晓林.电子工业出版社返回目录3.2.4 控制转移类指令 MOV A, R0 CJNE A, #10H, L1 ;如如R010H,则转移至标号,则转移至标号L1 MOV R1, #0 ;如如R0=10H,则不转移,则不转移,00HR1 AJMP L3L1: JC L2 ;如如Cy=1,即即R010H,0AAHR1 AJMP L3L2: MOV R1, #0FFH ;R010H,则,则R1=0AAH;如果如果R010H,则,则R1=0FFH。5:0281单片机原理与接口技术(第3版).李晓林.电子工业出版社返回目录减减1 1不为不为0 0转移指令(转移指令(2 2条)条)DJNZ Rn,
60、rel ;(Rn) - 1RnDJNZ Rn, rel ;(Rn) - 1Rn,若,若Rn0Rn0,则,则(PC)+2+relPCPC)+2+relPC。工作寄存器。工作寄存器RnRn中的内容减中的内容减1 1后不后不等于等于0 0,则程序转移到偏移量所指向的地址处,否则,则程序转移到偏移量所指向的地址处,否则程序往下执行程序往下执行DJNZ direct, rel DJNZ direct, rel ;(direct) - 1direct ;(direct) - 1direct,若,若(direct)0(direct)0,则,则(PC)+2+relPC(PC)+2+relPC。直接地址单元中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年渝中区南岸区广播电视台(融媒体中心)人员招聘笔试备考试题及答案解析
- 新形势下木渔船行业顺势崛起战略制定与实施分析报告
- 2026年度体检服务外包协议
- 2026年郑州市邙山区广播电视台(融媒体中心)人员招聘笔试参考题库及答案解析
- 2026年吕梁地区广播电视台(融媒体中心)人员招聘笔试备考题库及答案解析
- 2026年莆田市涵江区广播电视台(融媒体中心)人员招聘笔试参考试题及答案解析
- 2026年山西省朔州市林业系统人员招聘笔试模拟试题及答案解析
- 2026年四川省内江市广播电视台(融媒体中心)人员招聘笔试备考试题及答案解析
- 2026年安庆市大观区广播电视台(融媒体中心)人员招聘考试备考题库及答案解析
- 2021-2022学年山东省滨州市数学高一下册期中考试试卷2(含答案)
- 活塞式压气机课件
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 《云南省上拉式外脚手架施工技术标准》
- 警棍盾牌基本动作课件
- YST693-2022铜精矿单位产品能源消耗限额
- 盾构弃壳施工方案
- 2025-2026秋季学年第一学期安全主题班会教育记录(共22周)
- 三管三必须安全培训课件
- 校外培训机构安全管理领导小组职责
- 江苏南通2021-2024年中考满分作文57篇
- 2025年县司法局司法协理员招聘考试笔试试题(含答案)
评论
0/150
提交评论