- 1
- 0
- 约1.83万字
- 约 82页
- 2019-05-14 发布于广东
- 举报
第四章 MCS-51汇编语言程序设计 4.1 汇编语言程序设计概述 4.2 顺序与循环程序设计 4.3 子程序的设计 4.4 分支转移程序设计 4.5 查表程序设计 4.6 综合编程举例 4.1 汇编语言程序设计概述 4.1.1 概述 MCS-51单片机的汇编语言指令系统,每一条指令就是汇编语言的一条命令语句。由于汇编语言是面向机器硬件的语言,因此使用汇编语言进行程序设计,必须熟悉MCS-51单片机的硬件结构、指令系统、寻址方式等,才用编写出符合要求的程序。 汇编语言语句有两种基本类型: 1.? 指令语句 每一条指令在汇编时都产生一个指令代码,也称为机器代码,该机器代码对应着机器的一种操作。 2.??伪指令语句 伪指令语句没有目标代码,它主要是为汇编程序服务的,在汇编过程中起控制作用。 MCS-51的汇编语言语句是符合典型的汇编语言的4分段格式: 下面介绍在MCS-51汇编语言程序中常用的伪指令。 ORG 汇编起始地址命令 END 汇编语言程序结束伪指令 EQU 赋值伪指令 DB 定义字节伪指令 DW 定义字伪指令 BIT 位地址符号伪指令 DATA 定义标号数值伪指令 ORG 汇编起始地址命令 功能:规定程序的起始地址。如果不用ORG规定,则汇编的得到的目标程序将从0000H开始。通用形式ORG M ,M为十或十六进制数.例如: ORG 2000H START:MOV A,#00H ┇ END 汇编语言程序结束伪指令 功能:用在程序末尾,表示程序已经结束。汇编程序对END以后的指令不再汇编。 EQU 赋值伪指令 功能: 把操作数段中的地址或数据赋值 给标号字段中的标号。 格式: 标号 (字符名称) EQU 数或汇编符号 例: AA EQU R1 ;R1与AA等值 DB 定义字节伪指令 功能:从指定单元开始定义(存储)若干个字节的数值或ASCII码字符。常用于定义数据常数表。 格式: 操作码 操作数 DB 字节常数或ASCII字符 例: ORG 1000H DB 76H,73,‘C’,‘B’ AA: DB 0ACH 则(1000H)=76H (1001H) =49H (1002H)=43H (1003H) =42H (1004H)=0ACH ? DW 定义字伪指令 功能:从指定单元开始定义(或存储)若干个字的数据或ASCII码字符。 格式: 操作码 操作数 DW 字常数或ASCII字符 BIT 位地址符号伪指令 功能: 把位地址赋予所规定的字符名称。 格式: 字符名称 操作码 操作数 BIT 位地址 例: ABC BIT P1.0 Q4 BIT P2.2 汇编后,位地址P1.0、P1.2分别赋给变量ABC和Q4。 4.1.2 汇编语言程序设计步骤 使用汇编语言作为程序设计语言的步骤与高级语言编程步骤类似,但略有差异。其程序设计步骤大致可分为以下几步: 1.分析课题,确定算法或解题思路。 2.画工作流程图(图形的符号规定均同于高级语言流程图) 3.分配内存单元,确定程序与数据区存放地址。 4.?编写源程序。 5.?上机调试、修改,最后确定源程序。 语言源程序翻译成机器代码(指令代码)的过程称为“汇编”。 ???? 手工汇编 通过查指令的机器代码表,逐个把助记符指令翻译成机器代码,再进行调试和运行。 机器汇编 借助于微计算机来代替手工汇编。它实际上是通过执行汇编程序来对源程序进行汇编的。由于使用微型计算机完成了汇编,而汇编后得到的机器代码却是在单片机上运行,所以这种机器汇编又称为交叉汇编。 交叉汇编后,通过微机的串口(或并口)将汇编得到的机器代码送到用户样机(或在线仿真器)在进行程序的调试和运行。 4.2 顺序与循环程序设计 顺序结构的程序是一种最简单、最基本的程序(也称为简单程序)。它的特点是按程序编写的顺序一次执行,程序流向不变。这类程序是所有复杂程序的基础。 在很多实际程序中会遇到需多次重复执行某段程序的情况,可把这段程序设计为循环结构程序,这样可大大缩短程序。 4.2.1 顺序程序设计 要写出高质量的程序还是需要掌握一定的技巧,需
您可能关注的文档
- 苏州大学计算机科学与技术学院计算机通信与网络课件第二章 物理层(6).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第二章 物理层(7).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第二章 物理层(8).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第二章 物理层(9).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第二章 物理层(10).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第六章 应用层(1).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第六章 应用层(2).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第六章 应用层(3).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第六章 应用层(4).ppt
- 苏州大学计算机科学与技术学院计算机通信与网络课件第六章 应用层(5).ppt
- 2杨健-从代码大模型到通用代码智能体.pdf
- 2罗瑞翛基于Flink的实时推理与Agent构建.pdf
- 5 崔京-打造沉浸式的 Vibe Analyzing 体验--AI驱动的数据分析新交互.pdf
- 宜博-全栈开源 AgenticOs 的创业实践.pdf
- 04.崔宸-移动端 GUI Agent 技术拆解(1).pdf
- 02-罗义云-企业专属Agent开发实践-美化版-20260115.pdf
- 01-韩艾Agentic AI 2026_v7_final自我进化智能体介绍.pdf
- 2温涛-腾讯云 Data Platform 构建 Agent Memory Lake让智能体拥有无限记忆.pdf
- Agent 产业图谱发布.pdf
- 2【Datafun】腾讯云大数据 TCDataAgent 智能体发布与应用实战-付振雄&昝杰.pdf
原创力文档

文档评论(0)