




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章MCS-51指令系统与程序设计,本章共4小节。主要内容:1MCS-51寻址方式2MCS-51的指令系统3汇编语言程序设计重点内容:1MCS-51的指令系统2汇编语言程序设计,3.1概述,一、基本概念指令-计算机按人的要求执行某种操作的命令。指令系统-一台计算机所能执行的指令集合。程序-指令的有序集合。二、汇编的方法1.手工汇编(一般不采用)2.机器汇编,3.2MCS-51指令格式与寻址方式,一、指令格式指令的表示方法称之为指令格式。在MCS-51指令中,一般指令主要由操作码、操作数组成。指令应具有以下功能:(1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。(2)操作数指明操作的数本身或者是操作数所在的地址。(3)指定操作结果存放的地址。,指令的一般格式,操作数可以有一个,二个或三个操作数,也可以无操作数。所以指令的一般格式如下所示:,例如:MOVA,#00HINCANOP,MCS-51指令系统中,有一字节,二字节,三字节等不同长度的指令。,2.二字节指令(双字节指令),例如:指令MOVA,#data指令码格式为:,3.三字节指令,例如指令ANLdirect,#data,二、寻址方式,1、指令描述符号介绍,Rn当前选中的寄存器区中的8个工作寄存器R0R7(n=07)。Ri当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。direct8位的内部数据存储器单元中的地址。#data包含在指令中的8位常数。#data16包含在指令中的16位常数。addr1616位目的地址。addr1111位目的地址。,rel8位带符号的偏移字节,简称偏移量。DPTR数据指针,可用作16位地址寄存器。bit内部RAM或专用寄存器中的直接寻址位。A累加器。B专用寄存器,用于乘法和除法指令中。C进位标志或进位位,或布尔处理机中的累加器。间址寄存器或基址寄存器的前缀,如Ri,DPTR。,/位操作数的前缀,表示对该位操作数取反,如/bit。片内RAM的直接地址或寄存器。()由寻址的单元中的内容。(x)由x间接寻址的单元中的内容。箭头左边的内容被箭头右边的内容所代替。,2、寻址方式,MCS-51单片机的指令集与8051完全兼容,其寻址方式也与8051完全兼容,共有七种寻址方式。,立即数寻址直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址,(1)立即数寻址操作数在指令中直接给出寻址方式。立即操作数用前面加有#号的8位或16位数来表示。,例如:,MOVA,#60H,;A#60H,MOVDPTR,#3400H,;DPTR#3400H,MOV30H,#40H,;30H单元#40H,指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有:特殊功能寄存器和内部数据存储器低128B。直接寻址方式是访问特殊功能寄存器的唯一方法(SFR即可用寄存器名称也可用其地址表示)。,(2)直接寻址,例如:,MOVA,30H,;A内部RAM单元30H中的内容,;30H为直接给出的内部RAM的地址,MOVPSW,#20H,;PSW#20H,;PSW为直接寻址寄存器的符号地址。,MOV90H,20H,;90H20H,;90H为特殊功能寄存器P1口的字节地址,(3)寄存器寻址,操作数在寄存器中的寻址方式。该寻址方式中以寄存器名来表示寄存器。A、B、DPTR以及R0R7。,例如:,CLRA,;A0,INCDPTR,;DPTRDPTR+1,ADDA,R5,;AA+(R5),寻址范围:通用寄存器组和部分专用寄存器,(4)寄存器间接寻址,以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。存放操作数地址的寄存器则称为间址寄存器(R0、R1),访问范围是:1、内部RAM低128B(表示为R0);2、外部RAM64KB(表示为DPTR),例如:MOVR0,A;内部RAM(R0)A,图3-1MOVR0,A间接寻址示意图,MOVXA,R1;A外部RAM(R1),图3-2MOVXA,R1间接寻址示意图,例如:,MOVXDPTR,A;外部RAM(DPTR)A,例如:,图3-3MOVXDPTR,A间接寻址示意图,运行后,MOVXDPTR,A;外部RAM(DPTR)A,例如:,图3-3MOVXDPTR,A间接寻址示意图,运行前,2AH,45H,运行后,寻址范围:寄存器间接寻址方式可访问片内RAM低128单元(00H7FH);当片内RAM高128单元(80H0FFH)作为用户RAM区使用时,必须寄存器间接寻址方式来访问。此时R0和R1为间址寄存器。寄存器间接寻址也可用于访问片外64KB的数据存储器。但是要使用MOVX指令。此时,间址寄存器可以是R0和R1,也可以是DPTR0和DPTR1。使用R0和R1作为间址寄存器,可访问片外数据存储器低256字节的区域。使用DPTR0和DPTR1作为间址寄存器,可访问整个64KB的数据存储器.,寄存器间接寻址方式也可用于堆栈操作。这是因为整个堆栈操作过程中,栈顶单元的地址是由堆栈指示器SP的值决定的,所以可将SP看作是间址寄存器。,变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式。例如:MOVCA,A+DPTR;A(A+DPTR)MOVCA,A+PC;A(A+PC),(5)变址寻址,程序存储器,图3-4MOVCA,A+DPTR变址寻址示意图,(6)相对寻址,以当前程序计数器PC的内容为基础,加上指令给出的偏移量(一字节的补码)形成新的PC值的寻址方式.相对寻址用于修改PC值,主要用于实现程序的分支转移,当前PC值=转移指令的PC值(源地址)+转移指令的字节数,转移目的地址=当前PC值+偏移量rel,注意:偏移量rel是一个8位二进制补码数。所能表示的数据范围是128+127,所以程序转移可正向转移也可反向转移。只是反向转移时,转移目的地址小于源地址,rel应该用负数的补码表示。,例如:SJMP08H;PCPC+02H+08H,图3-5相对寻址示意图,(7)位寻址指令中的操作数以位地址的形式给出。该方式可访问片内RAM的位寻址区(20H2FH)以及可位寻址的特殊功能寄存器.例如:SETB10H;将10H位置1,若22H单元的内容为40H,执行该指令后,22H单元的内容为41H。MOV32H,C;32H(CY)指令中位地址常用的表示方法有三种:,1位地址法:SETBD5H2字节地址加位序的方法:SETBD0H.53寄存器名加位序的方法:SETBPSW.5,3.3MCS-51的指令系统,一数据传送类指令所谓传送,就是把源地址单元的内容传送到目的地址单元中去,而源地址单元的内容不变;或者是源地址单元与目的地址单元内容互换.助记符为”MOV”指令的通用格式为:,MOV,,图3-6MCS-51单片机片内数据传送图,1.立即数传送指令组,(一)、片内RAM数据传送指令,(1).8位立即数传送指令(共有4条):MOVA,#data;AdataMOVdirect,#data;directdataMOVRn,#data;RndataMOVRi,#data;(Ri)data,(2).16位立即数传送指令(1条):MOVDPTR,#data16;DPTRdata16,例如:执行MOVDPTR,#2000H后,(DPTR)=,2000H,2.片内RAM单元之间的数据传送指令组,(1).以累加器A为目的操作数的指令(共有3条):MOVA,direct;A(direct)MOVA,Rn;A(Rn)MOVA,Ri;A(Ri),(2).以Rn为目的操作数的指令(共有2条):MOVRn,A;Rn(A)MOVRn,direct;Rn(direct),(3).以直接地址为目的操作数的指令(共有4条):MOVdirect2,direct1;direct2(direct1)MOVdirect,Rn;direct(Rn)MOVdirect,Ri;direct(Ri)MOVdirect,A;direct(A),(4).以间接地址为目的操作数的指令(共有2条):MOVRi,A;(Ri)(A)MOVRi,direct;(Ri)(direct),(二)、片外RAM数据传送指令,1.使用DPTR作间址寄存器的指令(2条,范围64KB):MOVXA,DPTR;A(DPTR)MOVXDPTR,A;(DPTR)(A),2.使用Ri作间址寄存器的指令(2条,范围:外部RAM低128B):MOVXA,Ri;A(Ri)MOVXRi,A;(Ri)(A),指令中i=(0,1)。由于R0和R1是8位地址指针,因此指令寻址范围只限于外部RAM的256个单元。,片外RAM数据传送指令与片内RAM数据传送指令相比,在指令助记符中增加了“X”。其次,片外RAM的数据传送,只能通过累加器A进行。,注意:,(三)、程序存储器数据传送指令(指外部程序存储器),MOVCA,A+DPTR;A(A)+(DPTR)MOVCA,A+PC;A(A)+(PC),例如:以查表方法把累加器中的十六进制数转换为ASCII码,并送回累加器中,其查表程序如下:,1FFFHMOVA,#02H(查2的ASCII码)2000HINCA2001HMOVCA,A+PC2002HRET;数据表格为(以下是十六进制数表)2003DB30H;(0)2004DB31H;(1)2005DB32H;(2)200CDB39H;(9)200DDB41H;(A)200EDB42H;(B)200FDB43H;(C)2010DB44H;(D)2011DB45H;(E)2012DB46H;(F),也可使用下面的查表程序完成:1FFFHMOVA,#02H2000HMOVDPTR,#2003H2001HMOVCA,A+DPTR2002HRET,;数据表格为(以下是十六进制数ASCII码表)2003DB30H;(0)2004DB31H;(1)2005DB32H;(2)2010DB44H;(D)2011DB45H;(E)2012DB46H;(F),(四)、数据交换指令,1.整字节交换指令(3条):XCHA,Rn;(A)(Rn)XCHA,direct;(A)(direct)XCHA,Ri;(A)(Ri),2.半字节交换指令(1条):XCHDA,Ri;(A)30(Ri)30,(五)、堆栈操作指令(进栈和出栈),1.进栈指令:PUSHdirect;SP(SP)+1,(SP)(direct),2.出栈指令:POPdirect;direct(SP),SP(SP)-1,例题:已知(SP)=60H,(A)=05H,执行指令PUSHACCPOP30H后(30H)=,05H,05H,例题:内部RAM中,(70H)=60H,(60H)=20H,P1口为输入口,且输入数据为B7H,执行下列程序段后,各单元内容有何变化?,MOVR0,#70HMOVA,R0MOVR1,0E0HMOVB,R1MOVR0,P1MOVP2,70H,;(R0)=70H,;(A)=60H,;(R1)=60H,;(B)=20H,;(70H)=0B7H,;(P2)=0B7H,结果:(P2)=0B7H,(70H)=0B7H,(60H)=20H,(B)=20H(R1)=60H,(R0)=70H,(A)=60H,例题:(2097H)=80H,则执行下列指令后A中的内容是什么?,MOVDPTR,#2097HMOVXA,DPTR,;(DPTR)=2097H,运行结果:(A)=80H,例题:进入中断程序前,(PC)=101FH;(SP)=60H;(DPTR)=0123H,进入中断后执行,PUSHDPLPUSHDPH,后内部RAM的内容:(61H)=;(62H)=;(63H)=;(64H)=;(SP)=,1FH,10H,23H,01H,64H,1FH,10H,23H,01H,例题:,原(DPTR)=507BH;(SP)=62H;(30H)=40H;(31H)=50H;(32H)=80H,则执行,PUSHDPHPUSHDPLPUSH30HPUSH31HPUSH32HPOPDPHPOPDPLPOP32HPOP31HPOP30H,50H,80H,50H,40H,7BH,;(DPH)=80H,;(DPL)=50H,;(32H)=40H,;(31H)=7BH,;(30H)=50H,结果:(SP)=62H;(DPTR)=8050H;(30H)=50H;(31H)=7BH(32H)=40H,例题:设(50H)=7FH,(60H)=01H,P1口为输出口,分析执行下列指令序列后,A,50H,60H,2000H单元以及P1口的内容.,MOVA,50HMOVR0,#40HM0VR0,AXCHA,60HMOVP1,60HMOVDPTR,#20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业职业技能试题及答案
- 药学专业自荐试题及答案
- 能源专业试题及答案
- 测绘专业考研试题及答案
- 黑龙江省新时代高中教育联合体2024-2025学年高一上学期期末联合考试政治试卷(含答案)
- 内墙腻子拆除施工方案
- 2026届安徽省合肥市高三物理第一轮复习综合检测试卷2(力学部分B卷)
- 在线直播行业发展报告
- 婚礼主持人开场白模版
- 金乡蔬菜冷库施工方案
- 建筑工程消防查验检查表
- 新行政诉讼法课件讲座
- 《世界十大时尚品牌》课件
- 应征公民政治审查表
- 先进制造技术 课件 第一章 先进制造技术概论
- 慢性创面的治疗及护理课件
- 高中定语从句100题(含答案)
- 计量器具设备管理制度
- 事业单位工作人员调动申报表
- 农村干部任期经济责任审计所需资料
- 2023年上海交通大学招聘考试真题
评论
0/150
提交评论