收藏 分销(赏)

2022年单片微机原理及应用课件-MCS单片机指令系统.ppt

上传人:二*** 文档编号:5455611 上传时间:2024-11-05 格式:PPT 页数:23 大小:451.54KB
下载 相关 举报
2022年单片微机原理及应用课件-MCS单片机指令系统.ppt_第1页
第1页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第三章第三章 MCS-51MCS-51单片机指令系统单片机指令系统3-13-1 指令及其表示方法指令及其表示方法3-3-2 2 寻寻址方式址方式3-3-3 3 指令指令系统系统指令指令=操作码操作码+操作数操作数操作码操作码表示了该指令所能执行的操作功能。表示了该指令所能执行的操作功能。操作数操作数表示参加操作的数的本身或操作数所在的地址。表示参加操作的数的本身或操作数所在的地址。指令功能:指令功能:1、操作码指明执行什么性质和类型的操作。例如,加、减等、操作码指明执行什么性质和类型的操作。例如,加、减等2、操作数指定参加操作的数本身或操作数地址。、操作数指定参加操作的数本身或操作数地址。3、

2、指定操作结果存放的地址。指定操作结果存放的地址。4 4、指定下一条指令存放的地址。、指定下一条指令存放的地址。3-1 3-1 指令及其表示方法指令及其表示方法指令表示方法指令表示方法:指令有两种表示方法指令有两种表示方法:1、机器码表示法、机器码表示法例如,一条表示例如,一条表示A=A+07的指令用机器码表示:的指令用机器码表示:11000110 00000111 (二进制代码)(二进制代码)或或 C6 07 (十六进制代码十六进制代码)2、助记符表示法、助记符表示法指令用助记符表示为:指令用助记符表示为:ADD A,#07 计算机需要经过汇编程序翻译成机器码后才能执行。计算机需要经过汇编程序

3、翻译成机器码后才能执行。rel8位带符号的偏移字节,简称偏移量。位带符号的偏移字节,简称偏移量。-126129 用于相对转移指令。用于相对转移指令。DPTR数据指针,可用作数据指针,可用作16位地址寄存器。位地址寄存器。bit内部内部RAM或专用寄存器中的直接寻址或专用寄存器中的直接寻址位地址位地址。A累加器。累加器。B专用寄存器,用于乘法和除法指令中。专用寄存器,用于乘法和除法指令中。C进位标志或进位位,或布尔处理机中的累加器。进位标志或进位位,或布尔处理机中的累加器。寄存器间接寻址符号、前缀。寄存器间接寻址符号、前缀。当前指令存放的地址当前指令存放的地址 /位操作数的前缀,表示对该位操作数

4、取反,如位操作数的前缀,表示对该位操作数取反,如/bit。片内片内RAM的直接地址或寄存器。的直接地址或寄存器。()由由寻址的单元中的内容。寻址的单元中的内容。箭头左边的内容被箭头右边的内容所代替。箭头左边的内容被箭头右边的内容所代替。rrr 指令编码中指令编码中rrr 的值由当前工作寄存器的值由当前工作寄存器Rn决定。决定。R0R7对应的对应的rrr为为000111。返回本节3.2 寻址方式寻址方式3.2.1 立即寻址立即寻址3.2.2 直接寻址直接寻址3.2.3 寄存器寻址寄存器寻址3.2.4 寄存器间接寻址寄存器间接寻址3.2.5 变址寻址变址寻址3.2.6 相对寻址相对寻址3.2.7

5、位寻址位寻址返回本章首页3.2.1 3.2.1 立即数寻址立即数寻址 指指令令中中直直接接给给出出操操作作数数的的寻寻址址方方式式。立立即即寻寻址址方方式式是是操操作作数数包包括括在在指指令令字字节节中中,指指令令操操作作码码后后面面字字节节的的内内容容就就是是操操作作数数本本身身。立立即即操操作作数数用用前前面面加加有有#号号的的8位位或或16位位数数来来表表示示。立立即即数数只只能能作作为为源源操操作作数数,不不能能当作目的操作数当作目的操作数。例如:例如:MOV AMOV A,#52H#52H ;A A52H 52H MOV DPTR MOV DPTR,#5678H#5678H ;DPT

6、RDPTR5678H5678H 图为立即寻址示意图图为立即寻址示意图 3.2.2 3.2.2 直接寻址直接寻址 在在指指令令中中含含有有操操作作数数的的直直接接地地址址,该该地地址址指指出出了了参参与与操操作的数据所在的字节地址或位地址。作的数据所在的字节地址或位地址。例如:例如:MOV A,52H ;把片内;把片内RAM字节地址字节地址52H单元的内单元的内 容送累加器容送累加器A中。中。MOV 52H,A ;把;把A的内容传送给片内的内容传送给片内RAM的的52H 单元中。单元中。MOV 50H,60H ;把片内;把片内RAM字节地址字节地址60H单元的内单元的内容送到容送到50H单元中。

7、单元中。MOV IE,#40H ;把立即数;把立即数40H送到中断允许寄存器送到中断允许寄存器 IE。IE为专用功能寄存器,其字节为专用功能寄存器,其字节地址为地址为0A8H。该指令等价于。该指令等价于 MOV 0A8H,#40H。INC 60H ;将地址;将地址60H单元中的内容自加单元中的内容自加1。能进行直接寻址的存储空间有:能进行直接寻址的存储空间有:SFR寄存器。寄存器。内部数据内部数据RAM的低的低128个字节。个字节。位地址空间。位地址空间。3.2.3 寄存器寻址寄存器寻址 以通用寄存器的内容为操作数以通用寄存器的内容为操作数的寻址方式。的寻址方式。通用寄存器指通用寄存器指A、B

8、、DPTR以及以及R0R7 等。等。例如:例如:CLR ACLR A;A0A0 INC DPTRINC DPTR ;DPTRDPTR+1DPTRDPTR+1 ADD R5ADD R5,#20H#20H ;R5#20H+R5R5#20H+R5返回本节;书书放在放在甲甲抽屉中抽屉中;甲甲抽屉的钥匙放在抽屉的钥匙放在乙乙抽屉中抽屉中;取取书书,A中中 20HMOV 30H,#20HMOV R0,#30HMOV A,R0 此例中,此例中,20H就当成是那本就当成是那本书书;30H就当成是就当成是甲甲抽屉;抽屉;R0就当成是就当成是乙乙抽屉,执行的结果就是将抽屉,执行的结果就是将20H这个立即数装入这个

9、立即数装入A中。中。期间也经历了两次寻址,即间接寻址。期间也经历了两次寻址,即间接寻址。、寄存器间接寻址、寄存器间接寻址、寄存器间接寻址、寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,间接寻址寄存指令中寄存器的内容作为操作数存放的地址,间接寻址寄存器前用器前用“”表示前缀。表示前缀。例如例如:“一本一本书书放在放在甲甲抽屉中,上了锁;其开锁的钥匙放在抽屉中,上了锁;其开锁的钥匙放在乙乙抽屉中,抽屉中,乙乙抽屉也上了锁。问如何才能取到哪本抽屉也上了锁。问如何才能取到哪本书书?”这就是一个间接寻址的问题,要经过两次寻址才能找到哪本这就是一个间接寻址的问题,要经过两次寻址才能找到哪本书书。而

10、寄存器间接寻址也是同样。而寄存器间接寻址也是同样。例如例如:例如,一条表示A=A+07的指令用机器码表示:如ACALL,AJMP在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。将57H位地址的内容传送到 位累加器C中addr1111位目的地址。例如,一条表示A=A+07的指令用机器码表示:b=2为转移指令的字 节 数。把A的内容传送给片内RAM的52H 单元中。如LCALL,LJMP指令操作示意图如图所示。4、指定下一条指令存放的地址。如ACALL,AJMPMOV A,52H ;内部数据RAM的低128个字节。例如:例如:MOV R0,A ;内部;内部RAM(R

11、0)A 其指令操作过程示意图如图所示。其指令操作过程示意图如图所示。又如:又如:MOVX A,R1;A外部外部RAM(P2R1)其指令操作过程示意图如图所示。其指令操作过程示意图如图所示。再如:再如:MOVX DPTR,A;RAM(DPTR)A 其指令操作过程示意图如图所示。其指令操作过程示意图如图所示。片内片内RAM30HR034HA30H34HMOV R0,A;间接寻址示意图;间接寻址示意图能能用用于于寄寄存存器器间间接接寻寻址址的的寄寄存存器器有有R0,R1,DPTR,SP。其其中中R0、R1必必须须是是工工作作寄寄存器组中的寄存器。存器组中的寄存器。SP仅用于堆栈操作。仅用于堆栈操作。

12、片外片外RAM34HP245HA3410H45H10HR1片外片外RAM2000HDPTR30HA2000H30H MOVX A,R1 间接寻址示意图间接寻址示意图 MOVX DPTR,A 间接寻址示意图间接寻址示意图返回本节3.2.5 变址寻址变址寻址变址寻址只能对变址寻址只能对程序存储器程序存储器中数据进行操作。由中数据进行操作。由于程序存储器是只读的,因此于程序存储器是只读的,因此变址寻址只有读操作而变址寻址只有读操作而无写操作,无写操作,有效地址有效地址=基地址寄存器基地址寄存器+变址寄存器变址寄存器 基地址寄存器基地址寄存器 DPTR 或或 PC 变址寄存器变址寄存器 A 该寻址方式

13、常用于访问程序存储器,查表。该寻址方式常用于访问程序存储器,查表。例如:例如:MOVC A,A+DPTR;A(A+DPTR)又如,又如,MOVC A,A+PC ;A(A+PC)3.2.63.2.6、相对寻址相对寻址相对寻址相对寻址 把指令中给定的地址偏移量与本指令所在单元地址(把指令中给定的地址偏移量与本指令所在单元地址(PC内容)内容)相加得到真正有效的操作数所存放的地址。相加得到真正有效的操作数所存放的地址。例如例如 “李同学李同学20岁,张同学比李同学大岁,张同学比李同学大3岁,问张同学多少岁?岁,问张同学多少岁?”这就是一个相对寻年龄的问题,而相对寻址与此类似。这就是一个相对寻年龄的问

14、题,而相对寻址与此类似。如如 JC 60H ;设(设(PC)=2000H为基址,为基址,偏移量偏移量为为60H;则当则当C=1时,时,转移的目的地址转移的目的地址=20002000H H+2+60H 相对寻址的有效地址为相对寻址的有效地址为:D=PC+rel 则则rel=D-PC D 目的地址目的地址 PC 源地址源地址 rel 相对地址相对地址 相对地址的相对地址的机器码机器码称为偏移量称为偏移量 disp(补码表示);补码表示);disp=rel-b b 本条指令的字节数;取值范围为本条指令的字节数;取值范围为-128+127;b=2时,时,rel取值范围为取值范围为-126+129 相相

15、对对寻寻址址用用于于修修改改PC值值,主主要要用用于于实实现现程程序序的的分分支支转移。转移。例如,例如,SJMP 08H ;PCPC+2+08H 指令操作示意图如图所示。指令操作示意图如图所示。程序存储器程序存储器(2000H)200AHSJMP200AH08H2000H+208HPC2000H图为相对寻址示意图图为相对寻址示意图返回本节目标地址目标地址 D=PC+rel;偏移量偏移量 disp=rel-b;b=2为转移指令的字为转移指令的字 节节 数数。即即 disp=08;PC=2000H;b=2 则则 rel=0AH3.2.7 3.2.7 位寻址位寻址 MCS-51MCS-51单片机中

16、设有独立的位处理器。位单片机中设有独立的位处理器。位操作指令能对内部操作指令能对内部RAMRAM中的中的位寻址区位寻址区(20H20H2FH2FH)和某些)和某些有位地址的特殊功能寄存器有位地址的特殊功能寄存器进行进行位操作。位操作。C C作为位操作累加器。作为位操作累加器。SETB TR0 SETB TR0 ;TR0TR01 1CLR 00H CLR 00H ;(00H)(00H)0 0MOV CMOV C,57H 57H ;将;将57H57H位地址位地址的内容传送到的内容传送到 位累加器位累加器C C中中 ANL CANL C,5FH 5FH ;将;将5FH5FH位状态位状态与进位位与进位位C C与,与,结果存放在结果存放在C C中。中。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服