欢迎来到天天文库
浏览记录
ID:36445089
大小:1.29 MB
页数:88页
时间:2019-05-09
《MCS-51单片机的指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1总体要求:●熟练掌握MCS-51单片机汇编语言的指令格式●熟练掌握MCS-51单片机指令的寻址方式●了解机器语言指令格式●掌握MCS-51指令系统的分类、符号约定和常用指令●能够独立完成本章作业学习重点:●MCS-51单片机的指令格式和寻址方式●MCS-51指令系统中各条指令的助记符格式、功能等特性第3章MCS-51单片机的指令系统3.1指令格式和寻址方式3.2指令系统233.1指令格式和寻址方式3.1.1指令格式MCS-51单片机的指令和一般的微型计算机一样,具有两级形式:汇编语言级和机器语言级。对用户而言,主要使用汇编语
2、言来编写程序,然后由汇编程序(机器汇编)或手工汇编将汇编语言源程序翻译成二进制代码组成的机器语言程序。汇编语言的特点是对每一条指令都给出了助记符。由于助记符具有用英文单词的缩写来描述指令的特征,因此它不但便于记忆,也便于理解和分类。41.汇编语言指令格式MCS-51单片机汇编语言指令格式为:[标号:]操作码[操作数][;注释]各字段之间用规定的符号隔开。方括号的部分为可选项。例如:LOOP:MOVA,#54H;A←#54H各字段的意义如下:标号:标号给出了该指令位置的符号地址,即该指令机器代码存储单元的地址。它是以英文字母开始
3、的由1~8个字母或数字组成的字符串,并以“:”结束。操作码:操作码部分给出了指令所实现的操作功能。操作码用助记符的形式给出。5操作数:操作数部分给出了指令中参与操作的对象。操作数一般分为目的操作数(上例中累加器A)和源操作数(上例中的#54H),两者之间用“,”分隔。任何指令的操作都是实现“从源操作数到目的操作数”,因此,目的操作数和源操作数的书写顺序不能颠倒。需要指出的是:也有些指令根据其功能只指明了一个操作数或不需要指明操作数。注释:注释部分是用户为方便阅读而加的注释。注释以“;”为开始。注释部分对汇编语言来讲可有可无,它
4、不参与计算机的操作,不影响指令的执行。例如:MOVA,#00H;将累加器清062.机器语言指令格式机器语言指令是一种二进制码,包括操作码和操作数。操作码规定了该指令操作的性质,操作数则表明了操作的对象。MCS-51的指令系统有单字节、双字节和三字节这三种形式的指令,分别占有1~3个存储单元。(1)单字节指令:如RETI对应的机器语言指令格式为:(2)双字节指令:如MOVA,#54H对应的机器语言指令格式为:00110010B(32H)操作码01110100B(74H)操作码01010100B(54H)操作数7(3)三字节指令:
5、如MOV30H,#54H对应的机器语言指令格式为:01110101B(75H)操作码00110000B(30H)目的操作数01010100B(54H)源操作数单字节指令的操作码本身就隐含了操作数的信息;一般情况下,双字节指令的首字节为操作码,第二字节为操作数或操作数的地址;三字节指令的首字节为操作码,后面两个字节为操作数或操作数的地址。指令字节越多,所占内存单元越多,但执行时间的长短只取决于执行该指令需要多少个机器周期。83.1.2寻址方式在指令系统中,操作数是一个重要的组成部分,它指定了参加运算的数或数所在的地址单元。如何找
6、到操作数地址的方式就称为寻址方式。寻址方式就是在规定的地址范围内如何灵活地、方便地找到所需要的操作数地址。MCS-51单片机指令操作数或操作数地址主要有以下7种寻址方式。91.立即寻址立即寻址就是在指令中的操作数(8位或16位),这个操作数称为立即数。用符号“#”表示立即数,以区别直接地址。例如:MOVA,#3AH;A←3AH功能:把3AH这个数送入累加器A中。例如:MOVDPTR,#0123H;DPTR←0123H功能:将数据指针DPTR传送16位的立即数,立即数的高8位送入DPH中,低8位送入DPL中。此为三字节的指令,指
7、令代码为90H、01H、23H。立即寻址示意图如图3-1所示。10(a)MOVA,#3AH(b)MOVDPTR,#0123H图3-1立即寻址示意图112.直接寻址直接寻址就是在指令中直接给出了操作数的地址。提供了访问内部数据存储器3种地址空间的方法:可以访问内部RAM128个字节单元、221个位地址空间以及特殊功能寄存器SFR,且SFR和位地址空间只能用直接寻址的方式来访问。例如:MOVA,70H;A←(70H)功能:把片内RAM70H单元的内容送入累加器A中,图3-2示。12图3-2直接寻址示意图3.寄存器寻址寄存器寻址是在
8、指令中指定某一寄存器的内容为操作数。对累加器A、通用寄存器B、数据指针寄存器DPTR和进位位CY,其寻址时具体的寄存器已隐含在其操作码中,而对选定的8个工作寄存器R0~R7则用操作码的低三位指明所用的寄存器。用户可用PSW中的RS1、RS0来选择寄存器组。例如:MOVA,R5
此文档下载收益归作者所有