第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件

上传人:飞*** 文档编号:47834261 上传时间:2018-07-05 格式:PPT 页数:123 大小:690.50KB
返回 下载 相关 举报
第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件_第1页
第1页 / 共123页
第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件_第2页
第2页 / 共123页
第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件_第3页
第3页 / 共123页
第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件_第4页
第4页 / 共123页
第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件_第5页
第5页 / 共123页
点击查看更多>>
资源描述

《第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件》由会员分享,可在线阅读,更多相关《第3章__指令系统李朝青--单片机原理及接口技术_北京航空航天大学出版社(第3版)ppt课件(123页珍藏版)》请在金锄头文库上搜索。

1、第3章 指令系统Exit3.3 89C51指令系统3.1 汇编语言3.2 寻址方式3.4 思考题与习题Date3.1 汇编语言3.1.1 指令和程序设计语言 3.1.2 指令格式BACK Date3.1.1 指令和程序设计语言 指令:是CPU根据人的意图来执行某种操作的命令。 程序设计语言:是实现人机交换信息的基本工具, 分为机器语言、汇编语言和高级语言。 机器语言:用二进制编码表示每条指令,是计算机 能直接识别和执行的语言。 汇编语言:是用助记符、符号和数字等来表示指令 的程序设计语言。它与机器语言指令是一一对应的。BACK Date3.1.2 指令格式 89C51汇编语言指令格式 操作码

2、目的操作数,源操作数;注释 汇编语言指令对应的二进制代码格式 单字节指令 双字节指令 三字节指令BACK Date单字节指令1、指令码中隐含着对某一种寄存器的操作 如:指令“INC DPTR”的指令代码格式为 :A3H= 1 0 1 0 0 0 1 1 2、由指令中的rrr三位的不同编码指定某 一寄存器 如:指令“MOV A,Rn”的指令代码格式 为:1 1 1 0 1 r r r BACK Date双字节指令用一个字节表示操作码,另一个字节表 示操作数或操作数所在的地址。 格式为:操作码立即数或地址BACK Date三字节指令一个字节操作码,两个字节操作数。 格式为:操作码立即数或地址立即数

3、或地址BACK Date3.2 寻址方式什么是寻址方式:如何找到存放操作数的 地址,把操作数提取出来的方法。 1、7种寻址方式: 2、寻址空间及符号注释:BACK Date1、7种寻址方式: 1)寄存器寻址 2)直接寻址 3)立即数寻址 4)寄存器间接寻址 5)变址寻址 6)相对寻址 7)位寻址BACK Date1)寄存器寻址寄存器寻址:由指令指出寄存器组R0R7中 的某一个或其他寄存器(A,B,DPTR等)的内容作 为操作数。 例如:MOV A,R0;(R0)AMOV P1,A;(A)P1口ADD A,R0;(A)+(R0)ABACK Date2)直接寻址直接寻址方式:在指令中直接给出操作数

4、所 在存储单元的地址。指令中操作数部分是操作 数所在地址。 直接寻址方式可访问片内RAM的 128个单元以 及所有的SFR。对于SFR,既可以使用它们的 地址,也可以使用它们的名字。 例如:MOV A,3AH;(3AH) AMOV A,P1;(P1口) A 或: MOV A,90H; 90H是P1口的地址BACK Date3)立即数寻址立即数寻址:指令操作码后面紧跟的是一字节 或两字节操作数,用“#”号表示,以区别直接 地址。 例如: MOV A,3AH;(3AH)A MOV A,#3AH;3AHA MOV DPTR,#2000H;2000HDPTR;(DPH)=20H;(DPL)=00HBA

5、CK Date4)寄存器间接寻址 寄存器间接寻址:操作数的地址事先存放在某个寄存器中,寄存器间接寻址是把指定寄存器的内容作为地址,由该地址所指定的单元内容作为操作数。 89C51规定R0或R1为间接寻址寄存器,它可寻址内部地址RAM低位的128B单元内容。还可采用DPTR作为间接寻址寄存器,寻址外部数据存储器的64KB空间。 例如BACK Date 例如:将片内RAM 65H单元内容47H送A,可执 行指令“MOV A,R0”。其中R0内容为65H。 如图所示:65H47HR0A47H数据存储器地址 65H以指令中所指定 的R0内容(65H )为指针将片内RAM 65H 单元内容47H送ABA

6、CK Date5)变址寻址(基址寄存器+变址寄存器间接寻址)变址寻址:以某个寄存器的内容为基地址, 在这个基地址的基础上加上地址偏移量形成真 正的操作数地址。 89C51中采用DPTR或PC为变址寄存器,A的内 容为地址偏移量。 变址寻址只能访问程序存储器,访问范围为 64KB。 例如BACK Date 例如:MOVC A,A+DPTR;(A)+(DPTR)A 如图所示1EH0302HROMDPTRAA02F1H11H1EH+DPTR内容与A的内容之 和为程序存储器地址程序存储器内容送ABACK Date6)相对寻址 相对寻址:是以当前的PC值加上指令中规定的偏移 量rel而形成实际的转移地址

7、。 相对寻址只出现在相对转移指令中。 当前的PC值是指执行完相对指令后的PC值; 相对转移指令操作码所在地址称为源地址;转 移后的地址称为目的地址。 目的地址=源地址+相对转移指令字节数+rel rel为补码表示的有符号数。BACK Date7)位寻址位寻址:采用位寻址方式的指令的操作数是8 位二进制数中的某一位,指令中给出的是位地 址。位地址在指令中用bit表示。 例如:CLR bit;位地址的两种表示方法:直接使用位地址,如 D3H;直接用寄存器名字加位数,如PSW.3。 位寻址区域:片内RAM的20H-2FH的16个单元 中的128位;字节地址能被8整除的SFR。BACK Date2、寻

8、址空间及符号注释1)寻址空间:见表3-1。 2)符号注释:BACK Date表3-2 操作数寻址方式和有关空间BACK Date符号注释Rn(n=07):当前选中的工作寄存器组R0R7。 Ri(I=0,1):作为地址指针的两个工作寄存器R0,R1。 #data:8位立即数。 #data16:16位立即数。 direct:8位片内RAM单元(包括SFR)的直接地址。 addr11:11位目的地址,用于ACALL和AJMP指令中。 addr16:16位目的地址。用于LCALL和LJMP指令中。 rel:补码表示的8位地址偏移量。范围:-128+127D。 bit:片内RAM或SFR的直接寻址位地址

9、。 :间接寄存器的符号。 /:位操作指令中对该位先取反再参与操作,不影响原值。 ():中的内容。 ():指出的地址单元中的内容。 :指令操作流程方向。BACKDate概述:89C51指令系统由111条指令组成。其中,单字节指令49条,双字节指令45条,三字节指令17条。 从指令执行时间看,单周期指令64条,双周期45条,只有乘、除指令为4个周期。3.3 89C51指令系统Back Date89C51 指令系统可分为五大类1 数据传送指令:28条 2 算术运算指令:24条 3 逻辑运算及移位指令:25条 4 控制转移指令:17条 5 位操作指令(布尔操作):17条Back Date3.3.1 数

10、据传送指令1.以累加器A为目的操作数的指令(4条,即4种寻址方式) 2.以寄存器Rn为目的操作数的指令(3条)3.以直接地址为目的操作数的指令(5条)4.以间接地址为目的操作数的指令(3条)5.十六位数据传送指令(1条)6.查表指令(2条)7.累加器A与片外RAM传送指令(4条)8.栈操作指令(二条)9.交换指令(5条)Back Date1.以累加器A为目的操作数的指令(4条,即4种寻址方式)汇编指令格式MOV A,Rn;MOV A,direct;MOV A,Ri;MOV A,#data机器码格式1110 1rrr1110 0101 direct1110 011i0111 0100 data操

11、作(Rn)A(direct) A(Ri) A#data A注释将工作寄存器Rn(即R0R7)内 容传送到累加器A中将直接寻址所得的片内RAM单元 内容或特殊功能寄存器中的内 容传送到累加器A中将间接寻址(Ri为R0或R1)所 得的片内RAM单元内容或特殊功 能积存器中的内容传送到累加 器A中将立即数传送到累加器A中例:BackDate MOV A,#30H ;(A)=30H MOV A, 30H ;(A)=11H MOV A,R1 ;(A)=11H MOV A,R1 ;(A)=30H例:起始30H单元内容为11H,R1中为30HBackDate2 、以寄存器Rn为目的操作数的指令(3条)汇编指

12、令格式MOV Rn,A;MOV Rn,direct;MOV Rn,#data;机器码格式1111 1rrr1010 1rrr direct0111 1rrr data操作(A) Rn(direct) Rn#data Rn注释将累加器A中内容传送到工作寄 存器Rn(即R0-R7)中将直接寻址所得的片内RAM单 元内容或特殊功能寄存器中的 内容传送到工作寄存器Rn(即 R0-R7)中将立即数传送到工作寄存器Rn (即R0-R7)中这组指令的功能是把源操作数所指定的内容送到当前工作寄存器组R0-R7中 的某个寄存器。源操作数有寄存器寻址、直接寻址和立即数寻址三种方式 。BackDate如:(A)=7

13、8H,(R5)=47H,(70H)=F2H,执行指令: MOV R5,A ;(A)R5,(R5)=78H MOV R5,70H ;(70H)R5,(R5)=F2H MOV R5,#A3H; A3HR5,(R5)=A3H注意:在89C51指令系统中没有“MOV Rn,Rn” 传送指令。BackDate3 、以直接地址为目的操作数的指令(5条)机器码格式1111 0101 direct1000 1rrr direct1000 0101 direct2 direct11000 011i direct0111 0101 direct data汇编指令格式MOV direct ,A;MOV direct

14、 ,Rn ;MOV direct1 , direct2 ;MOV direct ,Ri ;MOV direct ,#data;操作(A) directRn direct direct2direct 1(Ri) direct #data direct 注释将A中内容传送到直接地址direct所指 出的片内存储单元中。将工作寄存器Rn(即R0-R7)中内容传 送到直接地址direct所指出的片内存储 单元中。将直接地址源direct所指出的片内存储 单元中内容传送到直接地址目的direct 所指出的片内存储单元中将间接寻址(Ri为R0或R1)所得的片 内RAM单元内容传送到直接地址direct 所

15、指出的片内存储单元中将立即数传送到直接地址direct所指出 的片内存储单元中这组指令的功能是把源操作数所指定的内容送入由直接地址direct所指出的片内存储单元中。源操作数有寄存器寻址,直接寻址,寄存器间接寻址和立即寻址等方式。BackDate4 、以间接地址为目的操作数的指令(3条)(Ri)表示Ri中的内容为指定的RAM单元。汇编格式机器码格式 操作 注释MOV Ri,A; 1111 011i (A)(Ri) 将累加器A中内容传送到间 接寻址(Ri为R0或R1)所 得的片内RAM单元中。 MOV Ri,direct; 0101 011i (direct)(Ri) 将直接寻址得的片内RAM direct 单元内容或特殊功能寄存器 中内容传送到间接寻址(Ri为R0或R1)所得的片内RAM单元中。 MOV Ri,#data; 0111 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号