第3章-MCS-5单片机的指令系统-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第3章-MCS-5单片机的指令系统-课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 单片机 指令系统 课件
- 资源描述:
-
1、2022年7月23日星期六计算机科学系 单片机原理及应用第3章 MCS-51单片机的指令系统2022年7月23日星期六计算机科学系 教学目的 指令和指令系统的概念与分类。掌握指令的格式和寻址方式。掌握数据传送、算术运算、逻辑运算、控制转移和位操作指令的功能和应用。指令的寻址方式指令的应用控制转移指令和位操作指令第3章 MCS-51单片机的指令系统2022年7月23日星期六计算机科学系 3.1 概述3.2 寻址方式3.3 数据传送指令 3.4 算术运算指令 3.5 逻辑操作指令 3.6 控制程序转移类指令 3.7 位操作类指令 3.8 伪指令3.9 小结3.10 习题 第3章 MCS-51单片机
2、的指令系统2022年7月23日星期六计算机科学系 3.1 3.1 概概 述述 基本概念基本概念 指令指令是是CPUCPU根据人的意图来执行某种操作的命令。指令根据人的意图来执行某种操作的命令。指令常以其英文名称或者缩写形式作为助记符。常以其英文名称或者缩写形式作为助记符。一台计算机所能执行的全部指令的集合称为这个一台计算机所能执行的全部指令的集合称为这个CPUCPU的的指令系统指令系统。2022年7月23日星期六计算机科学系 3.1.1 MCS-51单片机指令格式 80518051汇编语言指令由汇编语言指令由操作码操作码和和操作数操作数两部分组成。两部分组成。汇编语言指令格式汇编语言指令格式
3、标号标号:操作码助记符操作码助记符 目的操作数目的操作数,源操作数源操作数;注释注释 3.1 3.1 概概 述述机器语言指令格式机器语言指令格式 双字节指令格式双字节指令格式 操作码代码操作码代码 操作数或者地址操作数或者地址 三字节指令格式三字节指令格式 操作码代码操作码代码 操作数或地址操作数或地址,操作数或地址操作数或地址 符号地址:子程序入符号地址:子程序入口口/转移指令的目标转移指令的目标地址。地址。1-8个字符,个字符,标号后必须用冒号。标号后必须用冒号。指令的核心部分,用指令的核心部分,用于指示机器执行何种于指示机器执行何种操作。操作。表示指令操作的对象,表示指令操作的对象,可以
4、是具体的数据或数可以是具体的数据或数据所在的地址。据所在的地址。无、单、双、三操作数无、单、双、三操作数2022年7月23日星期六计算机科学系 3.1.2 指令的字节指令的字节按照指令的按照指令的功能功能划分,划分,80518051指令可分为以下五类:指令可分为以下五类:数据传送数据传送类指令类指令(29(29条条)算术运算算术运算类指令类指令(24(24条条)逻辑运算逻辑运算类指令类指令(24(24条条)控制转移控制转移类指令类指令(17(17条条)位操作位操作类指令类指令(17(17条条)3.1 3.1 概概 述述2022年7月23日星期六计算机科学系 按照指令占用的按照指令占用的存储空间
5、存储空间可分为:可分为:单字节指令单字节指令(49(49条条)双字节指令双字节指令(45(45条条)三字节指令三字节指令(17(17条条)按照指令的按照指令的执行时间执行时间可分为:可分为:单周期指令单周期指令(64(64条条)双周期指令双周期指令(45(45条条)四周期指令四周期指令(2(2条,乘、除法指令条,乘、除法指令)3.1 3.1 概概 述述2022年7月23日星期六计算机科学系 3.1.3 MCS-51单片机的助记符语言单片机的助记符语言3.1 3.1 概概 述述指令的二进制形式指令的二进制形式机器码,可以直接被计算机识别和机器码,可以直接被计算机识别和执行。执行。机器语言:二进制
6、代码语言机器语言:二进制代码语言采用采用助记符助记符表示的指令称为表示的指令称为汇编语言汇编语言。使用这种指令编写的程序称为使用这种指令编写的程序称为汇编语言程序汇编语言程序。MCS-51单片机的助记符有单片机的助记符有42种,见表种,见表3.1(P25)2022年7月23日星期六计算机科学系 为便于后面的学习,在这里先对指令中用到的一些符号的约定意义作以说明:(1)Ri和Rn:表示当前工作寄存器区中的工作寄存器,i取0或1,表示R0或R1。n取07,表示R0R7。(2)#data:表示包含在指令中的8位立即数。(3)#data16:表示包含在指令中的16位立即数。(4)rel:以补码形式表示
7、的8位相对偏移量,范围为-128127,主要用在相对寻址的指令中。(5)addr16和addr11:分别表示16位直接地址和11位直接地址。(6)direct:表示直接寻址的地址。(7)bit:表示可位寻址的直接位地址。(8)(X):表示X单元中的内容。(9)(X):表示以X单元的内容为地址的存储器单元内容,即(X)作地址,该地址单元的内容用(X)表示。(10)/和符号:“/”表示对该位操作数取反,但不影响该位的原值。“”表示操作流程,将箭尾一方的内容送入箭头所指一方的单元中去。3.1 3.1 概概 述述3.1.4 常用符号说明常用符号说明2022年7月23日星期六计算机科学系 3.2 寻址方
8、式 基本概念基本概念寻址寻址就是寻找指令中操作数或操作数所在地址。就是寻找指令中操作数或操作数所在地址。寻址方式寻址方式就是找到存放操作数的地址,并把操作数提取出来的就是找到存放操作数的地址,并把操作数提取出来的方法,即寻找操作数或者是操作数地址的方法。方法,即寻找操作数或者是操作数地址的方法。80518051单片机寻址方式共有单片机寻址方式共有7 7种:种:立即数立即数寻址、寻址、直接直接寻址、寻址、寄存寄存器器寻址、寻址、寄存器间接寄存器间接寻址、寻址、变址变址寻址、寻址、相对相对寻址和寻址和位位寻址。寻址。2022年7月23日星期六计算机科学系 3.2.1 3.2.1 立即寻址立即寻址
9、立即寻址就是操作数在指令中直接给出,或者说指令操作码后面立即给立即寻址就是操作数在指令中直接给出,或者说指令操作码后面立即给出一字节或两字节操作数。出一字节或两字节操作数。指令中给出的操作数是立即数,立即数前加指令中给出的操作数是立即数,立即数前加“#”号标志,以区别直接号标志,以区别直接寻址中的直接地址。寻址中的直接地址。1616位立即数传送指令位立即数传送指令“MOV DPTRMOV DPTR,#datal6”#datal6”,其中,其中#data16#data16是一个是一个1616位立即数。位立即数。3.2 寻址方式 例:例:MOV A,#30H ;#表示立即数表示立即数0011000
10、0MOV DPTR,#1638H2022年7月23日星期六计算机科学系 3.2.2 3.2.2 直接寻址直接寻址 直接寻址方式就是在指令中直接给出操作数所在存储单元的直接寻址方式就是在指令中直接给出操作数所在存储单元的地址。此时,指令中操作数部分是操作数所在地址。地址。此时,指令中操作数部分是操作数所在地址。直接寻址方式的寻址范围是内部直接寻址方式的寻址范围是内部RAMRAM,具体包括:,具体包括:片内片内RAMRAM的的128128个单元个单元在指令中以直接地址给出。在指令中以直接地址给出。特殊功能寄存器特殊功能寄存器(SFRSFR)既可使用它们的既可使用它们的地址地址,也可使用,也可使用它
11、们的它们的名字名字。位地址空间位地址空间指令中以位地址或位名称表示。指令中以位地址或位名称表示。3.2 寻址方式 2022年7月23日星期六计算机科学系 对于片内低128B存储器单元,指令中直接以地址数的形式提供存储器单元的地址。例如:MOV A,30H 其功能是把片内数据存储器30H单元的内容送给累加器A。如指令执行前片内数据存储器30H单元的内容为80H,则指令执行后累加器A的内容为80H。指令中30H是地址数,它是片内数据存储单元的地址。在MCS-51中,数据前面不加“#”是存储单元地址而不是常数,常数前面要加符号“#”。3.2 寻址方式 80H30HA80H2022年7月23日星期六计
12、算机科学系 对于特殊功能寄存器,在指令中使用时往往通过特殊功能寄存器的名称使用,而特殊功能寄存器名称实际上是特殊功能寄存器单元的符号地址,因此它们是直接寻址。这是访问SFR的唯一方式。例如:MOV A,P0其功能是把P0口的内容送给累加器A。P0是特殊功能寄存器P0口的符号地址,该指令在翻译成机器码时,P0就转换成直接地址80H。3.2 寻址方式 对于位地址空间:指令使用的是位地址或位名称。例如:SETB EA ;置EA位为1(IE的位7)MOV C,20H ;Cy(20H)2022年7月23日星期六计算机科学系 3.2.3 3.2.3 寄存器寻址寄存器寻址 寄存器寻址就是操作数存放在寄存器中
13、,指令中指定的寄存器的内容就寄存器寻址就是操作数存放在寄存器中,指令中指定的寄存器的内容就是操作数。是操作数。在寄存器寻址方式中以符号名称来表示寄存器。在寄存器寻址方式中以符号名称来表示寄存器。寄存器寻址方式的寻址范围包括:寄存器寻址方式的寻址范围包括:通用工作寄存器通用工作寄存器有有4 4组共组共3232个通用工作寄存器。个通用工作寄存器。部分专用寄存器部分专用寄存器累加器累加器A A、B B寄存器、寄存器、DPTRDPTR寄存器。寄存器。3.2 寻址方式 例如:MOV A,R1 ;AR133HAR133H2022年7月23日星期六计算机科学系 3.2.4 3.2.4 寄存器间接寻址寄存器间
14、接寻址 寄存器间接寻址是把指定寄存器的内容作为操作数地址,该地址所指定的单元内容作为操作数。为了区分寄存器寻址和寄存器间接寻址,在寄存器间接寻址中,所用到的寄存器的前面要加间接寻址符“”。形式为:寄存器名。例如:MOV A,R0寄存器R0、R1和数据指针DPTR可以作为间接寻址寄存器。3.2 寻址方式 2022年7月23日星期六计算机科学系 寄存器间接寻址示意图寄存器间接寻址示意图 例如:例如:寄存器寄存器R0R0内容为内容为30H30H,片内,片内RAM 30HRAM 30H单元的内容为单元的内容为45H45H。解:解:指令指令“MOV AMOV A,R0R0”的功能是将的功能是将R0R0的
15、内容的内容30H30H传送给累加器传送给累加器A A,指令,指令执行结果是执行结果是累加器累加器A A中的内容为中的内容为30H30H。指令指令“MOV AMOV A,R0R0”的功能是将的功能是将R0R0的内容的内容30H30H作为操作数的地址,作为操作数的地址,根据这一地址找到内部根据这一地址找到内部RAM 30HRAM 30H单元,将其内容单元,将其内容45H45H传送至累加器传送至累加器A A,指令执行结果是指令执行结果是累加器累加器A A中内容为中内容为45H45H。3.2 寻址方式 RAM 地址 R0 30H 45H 30H A 45H 2022年7月23日星期六计算机科学系 在M
16、CS-51单片机中,寄存器间接寻址用到的寄存器只能是通用寄存器R0、R1和数据指针寄存器DPTR,它能访问的数据是片内数据存储器和片外数据存储器。其中,片内数据存储器只能用R0和R1作指针间接访问;片外数据存储器,低端的256字节单元,既可以用两位十六进制地址以R0或R1作指针间接访问,也可用四位十六进制地址以DPTR作指针间接访问,而高端的字节单元则只能以DPTR作指针间接访问。对于片内RAM和片外RAM的低端256字节都可以用R0和R1作指针访问,它们之间用指令来区别。片内RAM访问用MOV指令,片外RAM访问用MOVX指令。例如:MOVX A,DPTR 3.2 寻址方式 2022年7月2
17、3日星期六计算机科学系 3.2.5 3.2.5 变址寻址变址寻址(基址寄存器基址寄存器+变址寄存器间接寻址变址寄存器间接寻址)变址寻址是以变址寻址是以DPTRDPTR或者或者PCPC作为基址寄存器,其内容为作为基址寄存器,其内容为基地址基地址,以累加器以累加器A A作为变址寄存器,其内容为作为变址寄存器,其内容为变址变址,并将两个寄存,并将两个寄存器内容也就是基址和变址相加,形成器内容也就是基址和变址相加,形成1616位操作数地址。然位操作数地址。然后在程序存储器中找到该地址所对应的单元,其内容即为后在程序存储器中找到该地址所对应的单元,其内容即为操作数。操作数。3.2 寻址方式 有两条指令:
18、MOVC A,A+PC ;A(A+PC)MOVC A,A+DPTR ;A(A+DPTR)2022年7月23日星期六计算机科学系 56H变址变址寻址示意图示意图 例如:例如:指令指令“MOVC AMOVC A,A+DPTR”A+DPTR”是变址寻址。是变址寻址。解:假 设解:假 设 D P T RD P T R 的 内 容 为的 内 容 为2030H2030H,累加器,累加器A A的内容的内容为为12H12H。该 指 令 的 功 能 是 将该 指 令 的 功 能 是 将2030H2030H和和12H12H相加,得到相加,得到2042H2042H作为操作数地址,作为操作数地址,在程序存储器中找到在
19、程序存储器中找到2042H2042H单元,将其内容单元,将其内容送至累加器送至累加器A A。3.2 寻址方式 ROM DPTR+=2042H 2030H 12H A 地址 56H56H例3.1 编制程序,将片外ROM的0302H单元中的常数X取至累加器A。2022年7月23日星期六计算机科学系 3.2.6 3.2.6 位寻址位寻址 位寻址指令中给出的是位地址,即片内位寻址指令中给出的是位地址,即片内RAMRAM某一单元中的一位。某一单元中的一位。位地址在指令中用位地址在指令中用bitbit表示。表示。单片机片内单片机片内RAMRAM有两个区域可以进行位寻址。具体如下:有两个区域可以进行位寻址。
20、具体如下:内部内部RAMRAM中的位寻址区中的位寻址区该区共有该区共有1616个单元,单元地址是个单元,单元地址是20H20H2FH2FH,一共有,一共有128128位,位地址为位,位地址为00007FH7FH。特殊功能寄存器的可操作位特殊功能寄存器的可操作位有有1111个单元地址能被个单元地址能被8 8整除的整除的寄存器,它们都可以进行位寻址,实际可寻址位为寄存器,它们都可以进行位寻址,实际可寻址位为8383个。个。3.2 寻址方式 2022年7月23日星期六计算机科学系 直接使用直接使用位地址位地址。例:例:PSWPSW寄存器的第寄存器的第5 5位可表示为位可表示为D5HD5H。20H20
21、H单元的第单元的第7 7位可表示为位可表示为07H07H。SETB 0D5HSETB 0D5H 用用位名称位名称表示。表示。例:例:PSWPSW寄存器的第寄存器的第5 5位可表示为位可表示为F0F0。SETB F0SETB F0 单元地址加位号单元地址加位号表示。表示。例:例:PSWPSW寄存器的第寄存器的第5 5位可表示为位可表示为D0H.5D0H.5。20H20H单元的第单元的第7 7位可表示为位可表示为20H.720H.7。SETB 0D0H.5SETB 0D0H.5 可以用可以用寄存器名称加位号寄存器名称加位号表示。表示。例:例:PSWPSW寄存器的第寄存器的第5 5位可表示为位可表示
22、为PSW.5PSW.5。SETB PSW.5SETB PSW.53.2 寻址方式 0D5H是直接地址,是直接地址,当直接地址的第当直接地址的第1位为字母时,前面位为字母时,前面必须加数字必须加数字0。2022年7月23日星期六计算机科学系 3.2.7 3.2.7 相对寻址相对寻址 相对转移指令执行时,是以当前的相对转移指令执行时,是以当前的PCPC值加上指令中规定的偏移值加上指令中规定的偏移量量relrel而形成实际的转移地址。这里所说的而形成实际的转移地址。这里所说的PCPC的当前值的当前值是执是执行完相对转移指令后的行完相对转移指令后的PCPC值。值。一般将相对转移指令操作码所在地址称为源
23、地址,转移后的地一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址。于是有:址称为目的地址。于是有:目的地址目的地址=源地址源地址+相对转移指令本身字节数相对转移指令本身字节数+rel+rel相对寻址只出现在相对转移指令中,以修正相对寻址只出现在相对转移指令中,以修正PCPC的方式来控制程的方式来控制程序的转移目的。序的转移目的。3.2 寻址方式 2022年7月23日星期六计算机科学系 相对转移指令操作示意图相对转移指令操作示意图 例 如:例 如:在 程 序 存 储 器 中在 程 序 存 储 器 中2000H单元有一条双字单元有一条双字节 的 相 对 转 移 指 令节 的 相
24、 对 转 移 指 令“SJMP 75H”。解:程序存储器解:程序存储器2000H、2001H单元的内容单元的内容80H、75H是是“SJMP 75H”的机器语言代码。的机器语言代码。3.2 寻址方式 PC=2000H 2 +75 PC=2077H 2077H 2002H 2001H 2000H 80H 75H ROM 2022年7月23日星期六计算机科学系 小结:常数:立即寻址 寄存器数:寄存器寻址 存储器数:直接寻址、寄存器间接寻址、变址寻址 位寻址:指令寻址:绝对寻址、相对寻址3.2 寻址方式 问:对问:对ROM和和RAM的寻址方式有哪些?的寻址方式有哪些?作业:作业:P51 1、4寻址方
25、式寻址方式寻址空间寻址空间直接寻址直接寻址片内片内RAM低低128字节和特殊功能寄存器字节和特殊功能寄存器(只能采用直接寻址只能采用直接寻址)寄存器寻址寄存器寻址工作寄存器工作寄存器R0R7、A、B、DPTR寄存器间接寄存器间接寻址寻址片内片内RAM低低128字节字节(R0、R1、SP用于用于PUSH/POP指令时指令时)片外片外RAM(R0、R1、DPTR)变址寻址变址寻址程序存储器程序存储器相对寻址相对寻址程序存储器程序存储器(控制转移用控制转移用)位寻址位寻址片内片内RAM202FH单元的单元的128个可寻址位和特殊功能寄存器中个可寻址位和特殊功能寄存器中的的83个可寻址位个可寻址位20
展开阅读全文