第3章 mcs-51系列单片机的指令系统

第3章 mcs-51系列单片机的指令系统

ID:5324459

大小:1.39 MB

页数:125页

时间:2017-11-23

第3章 mcs-51系列单片机的指令系统_第1页
第3章 mcs-51系列单片机的指令系统_第2页
第3章 mcs-51系列单片机的指令系统_第3页
第3章 mcs-51系列单片机的指令系统_第4页
第3章 mcs-51系列单片机的指令系统_第5页
资源描述:

《第3章 mcs-51系列单片机的指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章MCS-51单片机指令系统本章内容寻址方式指令的分类、格式及符号说明分类指令掌握MCS-51指令系统的各种寻址方式掌握每条指令的格式、功能及用法掌握指令的操作过程中操作数的变化情况以及对标志位的影响。学会正确选用指令完成简单的任务学习目的MCS-51指令系统共有255种操作代码,用汇编语言表达时,只需熟记42种助记符就能表示33种指令功能.共111条指令。3.1寻址方式MCS-51的指令系统共用了七种寻址方式。3.1.1寄存器寻址以寄存器的内容为操作数的寻址方式。可进行寄存器寻址的寄存器有:工作寄存器R0~R7、

2、A、B、DPTR和进位CY。MOVA,R0;AR0例如:R0(35H)A结果A=35H指令码中直接含有所需的操作数,操作数字前加“#”符号为前缀。以区别直接地址。使用时一定要注意!3.1.2立即寻址特点功能:(1)将片内RAM中44H单元的内容送累加器A,属于直接寻址;(2)则是把44H这个数本身送到累加器A,属于立即寻址。(1)MOVA,44H;A(44H)(2)MOVA,#44H;A44H例直接寻址指令的指令码中含有操作数地址。可用于访问程序存储器,也可用于访问数据存储器。3.1.3直接寻址功能:将片内RAM56H

3、单元中的内容34H送到累加器A中。如左图3.1例:MOVA,56H;A(56H)机器码:E55634H片内RAM34H累加器A56H图3.1指令传递3.1.4寄存器间接寻址指令指定寄存器中的内容为操作数的地址。工作寄存器R0、R1和专用寄存器DPTR可用于间接寻址,在寄存器前加“@”符号作前缀。MOVA,R0;A←R0MOVA,@R0;A←(R0)例如:R0=65H,65H=26H如图3.2所示,执行①结果A=65H,执行②结果A=26H。注意:@是它区别寄存器寻址的标志。26H片内RAMA65H图3.2R065H①②

4、3.1.5相对寻址相对寻址是将程序计数器PC中的当前内容与指令第二字节所给出的数相加,其和为跳指令的转移地址。2000 8026H  SJMPrel;PC←PC+2+rel程序存储器A图3-3指令过程PC26H0000H2000H2001H80H26H××××2028H02H20HALU2002H┆例3.1.6变址寻址以DPTR和PC基址寄存器和累加器A变址寄存器的内容和为地址,寻址该地址单元,读取数据。(1)MOVC A,@A+PC;A ←(A+PC)(2)MOVC A,@A+DPTR;A←(A+DPTR)执行第一条

5、时先使当前PC值加1,然后把这个加1后的PC值和累加器A中的偏移量相加,作为操作数地址,从该地址中取出操作数送入A中。第二条过程与第一条指令类似,例如:已知:片外ROM的2006H单元中有一数34H,编写程序用变址寻址方法把这个数送入A中,试进行分析。解:根据题目要求,基址可定为2000H,地址偏移量则为06H,程序如下:MOV DPTR,#2000H;DPTR←2000HMOVC A,@A+DPTR;A←34HMOV A,#06H;A←06H例3.1程序存储器A图3.4DPTR2006H0000H34H××2006H

6、00HALU如图3.4所示,这里A具有双重作用,在指令执行前用来存放地址偏移量,指令执行后为目的操作数。3.1.7位寻址当我们把八位二进制数中某一位作为操作数看待时,这个操作数的地址就称为位地址,对位地址寻址简称位寻址。MOV30H,C;30H是位寻址位地址MOVA,30h;30H是直接寻址的字节地址MOV C,ACC.7;Cy←ACC.7由上面指令可知,位寻址的位地址与直接寻址的字节地址形式完全一样,主要由操作码来区分,使用时需应该特别注意。例如本节主要论述指令格式、指令的三种表示形式、指令字节数、指令分类和指令系统

7、综述等五个问题。3.2指令系统指令格式是指令码的结构形式。表达形式为:3.2.1指令格式标号又称为指令地址符号,一般由1-6个符组成,以字母开头的字母数字串。[标号]:操作码[操作数];[注释]操作码用MCS-51单片机所规定的助记符来表示,它命令CPU作何种操作。注释是对该指令作用或功能的说明,以便于阅读,不参与编译(可有可无,不是必备的)。注释部分前一定要用分号“;”隔开。操作数分为目的操作数和源操作数,常用符号(如寄存器、标号)、常量(如立即数、地址值等)来表示。操作码和操作数之间用若干空格分隔,而目的操作数和源

8、操作数之间用逗号“,”分隔。3.2.2指令的三种表达形式通常,指令有二进制,十六制和助记符等三种表示形式1)指令的二进制形式具有难读、难写、难记忆和难修改等缺点,因此人们通常不用它来编写程序。2)指令的十六进制形式虽然读写方便,但仍不易为人们识别和修改,通常也不被用来编写程序,3)指令的助记符形式又称为指令的汇编符或汇编语句形式,

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

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

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