欢迎来到天天文库
浏览记录
ID:50337096
大小:256.00 KB
页数:50页
时间:2020-03-08
《单片机原理与应用 教学课件 作者 杭和平 第3章 MCS-51单片机的指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章MCS-51单片机的指令系统3.1指令系统基本概念3.1.1指令系统概述3.1.2指令格式3.1.3寻址方式3.2指令系统3.2.1数据传送类指令3.2.2算术运算类指令3.2.3逻辑运算及位移指令3.2.4位操作类指令3.2.5控制转移类指令3.1.1指令系统概述功能划分:数据传送类指令(29条)算术运算类指令(24条)逻辑操作类指令(24条)控制转移类指令(17条)位操作类指令(17条)指令一般有功能、时间和空间三种属性。3.1.1指令系统概述空间属性划分:单字节指令(49条)双字节指令(46条
2、)三字节指令(16条)时间属性划分:单机器周期指令(64条)双机器周期指令(45条)机器周期的指令(2条)3.1.1指令系统概述1.指令应具有以下功能:(1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。(2)操作数指明操作的数本身或者是操作数所在的地址。(3)指定操作结果存放的地址。3.1.2指令格式Rn——当前选中的寄存器区中的8个工作寄存器R0~R7(n=0~7)。Ri——当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。direct—8位的内部数据存储器单元中的地址
3、。#data——包含在指令中的8位常数。#data16——包含在指令中的16位常数。addr16——16位目的地址。addr11——11位目的地址。rel——8位带符号的偏移字节,简称偏移量。DPTR——数据指针,可用作16位地址寄存器。bit——内部RAM或专用寄存器中的直接寻址位。2.指令描述符号介绍3.1.2指令格式A——是累加器Acc的指令助记符,是最常用的寄存器。许多指令的操作数取自于Acc,许多计算的结果存放在Acc中。B——专用寄存器,用于乘法和除法指令中。C——进位标志或进位位,或布尔处理
4、机中的累加器。@——间址寄存器或基址寄存器的前缀,如@Ri,@DPTR。/——位操作数的前缀,表示对该位操作数取反,如/bit。×——片内RAM的直接地址或寄存器。(×)——由×寻址的单元中的内容。((×))——由×间接寻址的单元中的内容。←——箭头左边的内容被箭头右边的内容所代替。2.指令描述符号介绍3.1.3寻址方式1.立即寻址2.直接寻址3.寄存器寻址4.寄存器间接寻址5.变址寻址6.相对寻址7.位寻址MCS-51系列单片机指令系统共有7种寻址方式。3.1.3寻址方式指令中直接给出操作数的寻址方式。
5、例如:MOVA,#6CH;A←6CHMOVP1,#0FEH;P1←FEHMOVDPTR,#3400H;DPTR←3400HMOV30H,#40H;30H单元←40H1.立即寻址。3.1.3寻址方式指令中直接给出操作数地址的寻址方式。能直接寻址的存储空间有内部数据RAM的低128字节和SFR寄存器。例如:已知内RAM(30H)=50H,则MOVP1,30H;P1←内部RAM30H单元中的内容MOVPSW,#20H;PSW←20H2.直接寻址。3.1.3寻址方式以通用寄存器的内容为操作数的寻址方式。通用寄存器
6、指A、B、DPTR以及四个寄存器组中的R0~R7。例如:已知R0=70H,R7=25H,DPTR=0300H则MOVA,R0;A←R0INCDPTR;DPTR←DPTR+1ADDR7,#20H;R7←20H+R73.寄存器寻址。3.1.3寻址方式以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。4.寄存器间接寻址。寄存器间接寻址的寄存器有R0,R1,DPTR。例如:已知R0=40H,内RAM(40H)=50H,外RAM(40H)=60H,DPTR=0300H则MOVA,@R0;A←内部RAM(R0)
7、MOVXA,@R0;A←外部RAM(R0)MOVX@DPTR,A;外部RAM(DPTR)←A练习1设内部RAM中33H单元中内容为44H,34H单元中内容为0AFH,R0中内容为33H,R1中内容为00H,给出以下每一条指令执行后A中的值。MOVA,#34HMOVA,34HMOVA,R1MOVA,@R0练习2设内部RAM30H单元中内容为52H,请给出以下程序结果:MOVA,#30HMOVA,30HMOVR0,#30HMOVA,@R0MOV30H,#30H3.1.3寻址方式以DPTR或PC作为基址寄存器
8、,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数的地址,用该地址访问程序存储器ROM。5.变址寻址。指令符号上采用MOVC的形式。例如:已知A=60H,DPTR=0300H,PC=0200H,ROM(0260H)=09H,ROM(0360H)=05H,分别执行下列两条指令:MOVCA,@A+DPTR;A←(A+DPTR)MOVCA,@A+PC;A←(A+PC)3.1.3寻址方式以当前程序计数器PC的内容为
此文档下载收益归作者所有