- 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章 单片机指令系统及编程举例 3.1 指令系统简介 3.1.2 指令格式 3.1.3 指令分类及符号说明 3.2 单片机的寻址方式 3.2.2 直接寻址方式 3.2.3 寄存器寻址方式 3.2.4 寄存器间接寻址方式 3.2.5 基址加变址寻址方式 3.2.6 相对寻址方式 3.2.7 位寻址方式 3.3 指令系统及应用举例 3.3.1 数据传送类指令(29条) 习题 3.已知(A)=83H,(R0)=17H,(17H)=34H,请写出下列程序段执行完后A中的内容。 ANL A, #17H;逻辑与 ORL 17H, A;逻辑或 XRL A, @R0;逻辑异或 CPL A ;取反 表3-1 操作数寻址方式及有关地址空间 表3-2 数据传送类指令表 表3-3算术运算类指令 表3-4 逻辑运算类指令 表3-5 控制程序转移类指令 表3-7 表操作类指令表 * 3.1.1 指令系统概述 指令是计算机根据人的意图所执行的操作命令,是与计算机内部结构、硬件资源密切联系的,某种计算机所有指令的集合称为指令系统。MCS-51/52系列单片机的指令系统共有111条指令,其中49条是单字节指令,45条是双字节指令,17条是三字节指令。111条指令中共有33个功能,用汇编编程时,只需要42个助记符就能指明这33个功能操作。其中有64条指令的执行时间为12个振荡周期(振荡周期=时钟周期=1/12机器周期),45条指令的执行时间为24个振荡周期,乘法和除法指令只需48个振荡周期。AT89及P89的指令系统与MCS-51/52系列单片机的指令系统完全相同。 单片机的汇编语言指令格式与其他微机的指令格式一样,均由以下几个部分组成: [标号]:操作码 [操作数] ;[注释] 标号 又称指令地址符号,一般由1~6个字符组成,以字母开头的字母数字串,与操作码之间用冒号分开。[ ]表示为可选项。 操作码 说明单片机要执行哪种操作。 操作数 是指令执行的参与者,即各种操作的对象。 注释 是为该条指令作的说明,以便于阅读。 指令系统中,操作数可以为1、2、3个,也可以没有。不同功能的指令,操作数作用不同。例如,传送类指令多数有两个操作数,写在左面的称为目的操作数(表示操作结果存放的单元地址),写在右面的称为源操作数(指出操作数的来源)。 操作码与操作数之间必须用空格分隔,操作数与操作数之间必须用逗号“,”分隔。带方括号项可有可无,称可选择项。操作码是指令的核心,不可缺少。 1. 指令分类 单片机指令系统的111条指令分为下面5类: (1)数据传送指令类29条,分为:片内RAM、片外RAM、程序存储器的传送指令,交换及堆栈操作指令。 (2)算术运算类24条分为:加、带进位加、减、乘、除、加1、减1指令。 (3)逻辑运算类24条分为:逻辑与、或、异或、移位指令。 (4)控制程序转移类17条分为: 无条件转移与调用、条件转移与调用、返回与空操作指令。 (5)布尔变量操作类17条分为: 位数据传送、位与、位或、位转移指令。 2. 符号说明 A: 累加器Acc。 B: 专用寄存器,用于MUL和DIV指令中。 C: 为进位标志或进位位,或布尔处理机中的累加器。 @: 为间址寄存器或基址寄存器的前缀。如@Ri,@A+PC,@A+DPTR。 Rn: 表示当前选中的寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri: 表示当前选中的寄存器区中的2个寄存器R0、R1,可作地址指针即间址寄存器(i=0、1)。 direct: 表示8位内部数据存储器单元的地址。他可以是内部RAM的单元地址0~127或专用寄存器的地址,如I /O端口、控制寄存器、状态寄存器等(128~255)。 #data: 表示包含在指令中的8位立即数。 #data16: 表示包含在指令中的16位立即数。 addr16: 表示16位的目的地址。用于 LCALL和LJMP指
您可能关注的文档
最近下载
- D-Z-T 0017-2023 工程地质钻探规程(正式版).docx VIP
- D-Z-T 0382-2021 固体矿产勘查地质填图规范(正式版).docx VIP
- [病人入院护理评估表1.doc VIP
- 具有抗菌性能的中熵合金、制备方法及其应用.pdf VIP
- 探析互联网技术在小学英语教学中的应用.docx VIP
- 科技英语的特征.pptx VIP
- 湖南省2026届高三九校联盟第一次联考 化学试卷(含答案详解).pdf
- 银川乐口福食品有限公司产品研发动因及对策研究----以蛋糕为例 经管类毕业论文.docx VIP
- 2023年ISO37001反贿赂管理体系内部审核全套资料.docx VIP
- 中国文化产业和旅游业年度研究报告(2024)精华版.pdf
文档评论(0)