- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 MCS 51单片机的指令系统-
教学提示:指令是CPU 用于控制功能部件完成某一指定动作的指示和命令。一台计算
机全部指令的集合称为指令系统。指令系统体现了计算机的性能,也是计算机重要的组成
部分,应用计算机进行程序设计的基础。单片机应用系统的运行,是依靠合理的硬件接口、
用户程序和监控程序的完美结合实现的,所以掌握单片机需要学习多样的汇编程序设计方
法实现运算和控制功能。
教学要求:本章让学生了解单片机指令系统的特点和功能、操作的对象和结果、汇编
语言程序结构的设计。应重点掌握指令的基本形态、格式、寻址方式及汇编语言编程的基
本方法,熟悉常用的子程序,能够正确运用汇编指令编制单片机应用系统的用户程序和监
控程序。
3.1 指令格式及其符号说明
MCS-51 单片机指令系统共有111 条指令,可以实现51 种基本操作。按照指令的机器
周期数来分类有:64 条单周期指令、45 条双周期指令和2 条四周期指令等;本节将按照指
令的字节数或功能来分类。
3.1.1 MCS-51 单片机指令格式
MCS-51 指令由操作码助记符和操作数两部分组成。指令格式如下:
[标号:]操作码助记符 [目的操作数] [,源操作数][;注释]
在指令的一般格式中使用了可选择符号“[ ]”,其包含的内容因指令的不同可有可无。
标号:程序员根据编程需要给指令设定的符号地址,可有可无;通常在子程序入口或
转移指令的目标地址处才赋予标号。标号由1~8 个字符组成,第一个字符必须是英文字母,
不能是数字或其他符号,标号后必须用冒号。
操作码助记符:指令的核心部分,用于指示机器执行何种操作,如加、减、乘、除、
传送等。操作数是表示指令操作的对象,操作数可以是一个具体的数据,也可以是参加运
算的数据所在的地址。操作数一般有以下几种形式:没有操作数,操作数隐含在操作码中,
如RET 指令;只有一个操作数,如INC A 指令;有两个操作数,如MOV A,30H 指令,
操作数之间以逗号相隔;有3 个操作数,如CJNE A,#00H,10H 指令。
注释:对指令的解释说明,用以提高程序的可读性,注释前必须加分号,注释换行时
行前也要加分号。
3.1.2 指令的字节
在二进制形式的MCS-51 指令中,单字节指令的操作码和操作数加起来只有1B;双字
·34· 单片机原理与应用技术
节指令的操作码和操作数各占1B;三字节指令的第1 字节为操作码,第2、第3 字节为操
作数或操作数地址。
1. 单字节指令(49 条)
在MCS-5l 指令系统中,单字节指令可分为两类:无操作数的单字节指令和含有操作
数寄存器编号的单字节指令。
1) 无操作数单字节指令
这类指令只有操作码字段,操作数隐含在操作码中。
例如:INC DPTR
指令码为
位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码
操作码 1 0 1 0 0 0 1 1 A3H
数据指针(DPTR)隐含其中。
2) 含有操作数寄存器号的单字节指令
单字节的指令码由操作码字段和指示操作数所在寄存器号的字段组成。
例如:MOV A,Rn
指令码为
位 D7 D6 D5 D4 D3 D2 D1 D0 十六进制码
操作码+操作数 r r r E8H~EFH
r r r
1 1 1 0 1 rr rr rr
r r r
r r r
其中,rr rr rr为寄存器Rn 的编号。
2. 双字节指令(46 条)
双字节指令的操作码字节在前;在后的操作数字节可以是立即数,也可以是操作数所
在的片内R
文档评论(0)