- 1、本文档共176页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第3章指令系统及汇编语言程序设计;
3.1单片机的汇编语言与指令格式;
为了既能保持机器语言的特点,又能方便编写程序和阅读程序,人们采用助记符号来代替机器指令代码,助记符号与机器指令代码一一对应,我们把这种编程语言称为汇编语言(AssemblyLanguage)。需要说明的是,汇编语言是面向机器的程序设计语言,对于每种计算机,都有自己的汇编语言;汇编语言中由于使用了助记符号,因此将由汇编语言编制的程序输入计算机后,计算机不能像识别机器语言编写的程序一样直接识别和执行汇编语言程序,必须通过预先放入计算机的“汇编程序”的加工和翻译,才能把汇编语言程序变成能够被计算机识别和处理的二进制代码程序。;
3.1.2汇编语言的指令格式
MCS-51汇编语言的指令格式为
[标号:]操作码助记符[目的操作数][,源操作数][;注释]
其中:
[]:方括号表示该项是可选项,根据指令要求确定。
标号:用符号标明该指令所在程序存储器的地址,并以“:”结尾,设计者根据实际需要设置。
操作码助记符:用来规定指令所完成的操作,用英文缩写的指令功能助记符表示。该项不得省略。
;
目的操作数:表示操作的对象,是一个目标地址,也是存放操作结果的地址。目的操作数与操作码助记符之间必须用一个以上的空格分隔。
源操作数:表示操作的对象或者是操作数的来源,可以是一个地址或者一个立即数。源操作数与目的操作数中间用逗号分隔。
注释:是对指令或者程序段的解释说明,用以提高程序的可读性,注释前必须加分号。;
3.1.3汇编语言中常用符号约定
为了便于指令的描述,对指令中常用的符号有如下约定:
(1)?Rn:表示当前工作寄存器中的R0~R7,其中n=0~7。当前工作寄存器组由程序状态寄存器PSW的RS1和RS0位决定。
(2)?Ri:表示当前工作寄存器中的R0~R1,其中i取值为0或1。
(3)?direct:表示对内部单元直接寻址的8位地址,可以是内部RAM区的某一单元或某一特殊功能寄存器的地址,变化范围为00H~FFH。
;
(4)?@:表示间接寻址寄存器及地址寄存器的前缀。
(5)?DPTR:表示16位数据指针。
(6)?#data:表示指令中的8位立即数,其中#是立即数标识符,data表示8位数,取值范围为00H~FFH。
(7)?#data16:表示指令中的16位立即数,取值范围为0000H~FFFFH。
(8)?PC:表示16位程序计数器。
(9)?addr11:表示短转移的11位地址,用于2KB范围内寻址。
(10)?addr16:表示长转移的16位地址,用于64KB范围内寻址。;
(11)?rel:表示相对转移的地址偏移量。
(12)?bit:表示位寻址区的直接寻址位。
(13)?(x):表示x地址单元中的内容。
(14)?((x)):表示将x地址单元中的内容作为地址单元中的内容。
(15)?←:表示操作数据的流向,用箭头后面的内容替代前面的内容。
(16)?/:表示取反操作。;
3.2单片机的指令寻址方式;
该指令执行的操作是将立即数00H送到累加器A中,该指令就是立即数寻址。#00H中的“H”是说明该立即数是以十六进制表示的,实际编程时也可以用其他进制来表示。立即数寻址示意图如图3.1所示。;
3.2.2直接寻址
直接寻址是指把存放操作数的内存单元的地址直接写在指令中。在MCS-51单片机中,可以直接寻址的存储器主要有内部RAM区和特殊功能寄存器(SFR)区。例如:
MOVA,50H;(A)←(50H)
该指令执行的操作是将内部RAM中地址为50H单元的内容传送到累加器A中,其操作数50H就是存放数据的单元地址。所以该指令是直接寻址。若50H单元中的内容是55H,则该指令执行后A的内容就是55H。直接寻址示意图如图3.2所示。;
;
3.2.3寄存器寻址
寄存器寻址是指将操作数存放于寄存器中。寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、数据指针寄存器DPTR。例如:
MOVA,R0;(A)←(R0)
该指令执行的操作是把R0寄存器中的数据传送到A累加器中,其操作数存放在R0中,所以寻址方式为寄存器寻址。若R0寄存器单元中的内容是55H,则该指令执行后A的内容就是55H。寄存器寻址示意图如图3.3所示。;
;
3.2.4寄存器间接寻址
寄存器间接寻址是指将存放操作数的内部RAM地址放在特定的寄存器中,指令中只给出该寄存器。MCS-51指令系统中,能用于寄存器间接寻
您可能关注的文档
- 天线原理与技术 课件 第6章 宽带天线.pptx
- 天线原理与技术 课件 第7章 口径天线理论与典型口径天线.pptx
- 天线原理与技术 课件 第8章 反射面天线.pptx
- 单片机原理及应用(第二版) 课件 第1章 单片机系统概述.pptx
- 单片机原理及应用(第二版) 课件 第2章 单片机基础知识.pptx
- 单片机原理及应用(第二版) 课件 第4章 中断、定时与串行通信.pptx
- 单片机原理及应用(第二版) 课件 第5章 单片机系统的扩展及接口技术.pptx
- 单片机原理及应用(第二版) 课件 第6章 高性能微处理器.pptx
- 单片机原理及应用(第二版) 课件 第7章 单片机应用系统设计.pptx
- 企业高校研究所合作框架.docx
最近下载
- ISO27001-2022信息安全管理体系内审全套记录表格.pdf VIP
- 六大纪律违纪风险点排查及对应防控措施.docx VIP
- 2022-2023学年天津市部分区高二(下)期末物理试卷(含解析).docx
- AQT9009-2015《生产安全事故应急演练评估规范》(AQT 9009-2015).pdf
- 预防艾滋病、梅毒和乙肝母婴传播登记及随访表.docx
- 园区保洁服务方案.docx
- DB-13 T 886-2007 森林害鼠预测预报与防治技术规程.pdf
- 关于新形势下党内政治生活的若干准则解读幻灯课件.pptx VIP
- SL101-2014水工钢闸门和启闭机安全检测技术规程.docx VIP
- 辽宁市政道路(桥梁)维修养护工程施工组织设计.doc
文档评论(0)