单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt

单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt

ID:50337142

大小:392.50 KB

页数:46页

时间:2020-03-08

单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt_第1页
单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt_第2页
单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt_第3页
单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt_第4页
单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt_第5页
资源描述:

《单片机原理、应用与Proteus仿真 教学课件 作者 兰建军 第2章 指令系统与汇编语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.1概述指令是CPU控制计算机进行某种操作的命令,指令系统则是全部指令的集合。机器指令又称机器码,由二进制代码0和1表示,能够被计算机直接识别和执行的指令。助记符指令由助记符表示的机器指令,不能够被计算机直接识别和执行的指令。汇编语言用助记符书写的指令系统称为汇编语言,汇编语言源程序用汇编语言编写的程序称为汇编语言源程序;目标程序用机器语言编写的程序称为目标程序。汇编汇编语言源程序翻译成目标程序的过程。1、指令格式[标号:]操作码[目的操作数,][源操作数][;注释]STAR:MOVA,#01H;(A)←01H操作码表明指令的操作类型,任何一条

2、指令都必须包含操作码,其他部分可有可无,看具体指令需要。标号和注释都不产生机器码;操作数用于表明操作数据的大小或者存储位置。2.2寻址方式(共7种)寻址方式是在指令中寻找操作数的方法。寻址方式越丰富,灵活性就越大,能实现的功能也越强。1、立即寻址立即寻址是直接在指令中给出操作数真实大小的寻址方式。如:MOVA,#05AH;把8位立即数5AH送入A中。※特别说明(1)立即数有8位和16位两种;(2)可以采用二进制、十进制和十六进制三种形式;(3)立即数前面必须带“#”;(4)十六进制数以A~F字符打头的数前面要加0。(5)存储位置位于程序存储器RO

3、M中2、寄存器寻址寄存器寻址是指操作数存放在寄存器中,通过给出寄存器名的形式来访问操作数的寻址方式。如:MOVA,R0;将寄存器R0中的内容传送到A中。寄存器包括:通用寄存器:R0~R7;部分特殊功能寄存器,如A、B以及DPTR。3、直接寻址直接寻址是直接给出操作数在存储器中存放地址的寻址方式。如:MOVA,50H;将片内RAM50H单元中的内容送A中操作数形式:直接给出地址的形式;如:30H。采用特殊功能寄存器名称的形式;如PSW。注意和立即数的区别,特殊功能寄存器本质为直接寻址。4、寄存器间接寻址寄存器间接寻址是通过寄存器给出操作数在存储单元

4、中的存储地址的寻址方式。如:MOVA,@R0;将R0中的内容为地址的片内RAM存储单元中的内容送入A中。注意和直接寻址方式的区别,寄存器中存放的不是操作数本身,而是操作数在内部RAM中存放的地址。形式只支持:@Ri(i=0,1)和@DPTR两种形式5、基址加变址寻址以DPTR或PC的内容作为基址,以累加器A的内容作为偏移量,将两者相加得到的16位地址作为操作数地址的寻址方式。如:MOVCA,@A+PC;将A中和PC中的内容相加后的数作为地址注意和间接寻址区别在于地址由两个寄存器提供。只有两种形式:@A+PC和@A+DPTR6、相对寻址相对寻址主要

5、用于转移指令,一般在转移指令中直接给出要转向的目标地址。如:SJMPLOOP;程序跳至标号为LOOP处执行操作数形式:标号的形式和直接给出地址的形式7、位寻址位寻址是在指令中直接给出位操作数的寻址方式,位寻址只能出现在位操作指令中,位地址可用通用符号“bit”表示。如:MOVC,2EH;将位地址2EH中的内容送入位累加器C中。寻址范围:片内RAM20H~2FH的位寻址空间;地址能被8整除的特殊功能寄存器,共11个。2.3指令分类介绍MCS-51单片机指令系统共有指令111条,可分别按照指令字节数、指令执行时间和指令功能进行分类。1、数据传送指令功

6、能:进行数据传送,数据传送类指令一般不影响状态标志位。(1)片内RAM传送指令MOV通用格式:MOV目的操作数,源操作数操作数说明:目的操作数可为:A,Rn,Direct,@Ri;源操作数可为:A,Rn,Direct,@Ri,#data;两个操作数的长度一致,如同为8位或16位;立即数不能作为目的操作数;两个操作数不能同时为通用寄存器Rn;若目的操作数不为A时,指令不影响标志位。如:MOVA,R1;(R1)=40HMOVR1,30H;(30H)=R1MOV50H,#56H;(50H)=56HMOV@R0,30H;(40H)=12HMOVDPTR,

7、#1234H;(DPTR)=1234HMOVDPH,#12H;(DPH)=12HMOVDPL,#34H;(DPL)=34H(2)片外RAM传送指令MOVX片外RAM或者I/O接口与累计器A之间的数据传送例如:将外部RAM1000H单元中的内容送入外部RAM2000H单元,已知(1000H)=12H,(2000H)=34H。MOVDPTR,#1000H;DPTR←#1000HMOVXA,@DPTR;A←((DPTR))MOVDPTR,#2000H;DPTR←#2000HMOVX@DPTR,A;(DPTR)←(A)(3)ROM数据传送指令MOVC用于

8、访问程序存储器中数据(常数),如数据表格等,通常也称查表指令。只存在如下2条指令:MOVCA,@A+PC;PC←(PC)+1,A←(A+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。