3.2源程序的编制 用户根据系统要求用汇编语言或高级语言编好的程序, 叫源程序。 3.2.1源程序的编辑和汇编 由于通用微型计算机的普及,现在单片机应用系统的 程序设计都借助于通用微型计算机。全过程可概括为“机 器编辑→交叉汇编→串行传送”三个部骤,如图3-2所示。 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
用户根据系统要求用汇编语言或高级语言编好的程序, 叫源程序。 3.2.1 源程序的编辑和汇编 由于通用微型计算机的普及,现在单片机应用系统的 程序设计都借助于通用微型计算机。全过程可概括为“机 器编辑→交叉汇编→串行传送”三个部骤,如图3-2所示。 3. 2 源程序的编制
1.编辑 将源程序输入计算机并进行修改的过程就是编辑。编辑 工作一般在通用微型计算机上利用各种编辑软件完成,故又 称其为机器编辑。编辑完成后,生成一个由汇编指令和伪指 令共同组成的ASCI码文件,其扩展名为“.ASM”。 可执行文件 用于固化 HEX 单片机指令 源程序 交叉汇编 目标文件 单片机 ASM 程序 OBJ 调试运行 伪指令 编辑 列表文件 编辑程序 LST 图3-2单片机汇编语言程序的生成过程 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
1. 编辑 将源程序输入计算机并进行修改的过程就是编辑。编辑 工作一般在通用微型计算机上利用各种编辑软件完成,故又 称其为机器编辑。编辑完成后,生成一个由汇编指令和伪指 令共同组成的ASCII码文件,其扩展名为“.ASM”。 图3-2 单片机汇编语言程序的生成过程
2.汇编 ●计算机只能识别机器语言,但程序编制人员通常以汇编 语言或高级语言编制源程序。这样,要让计算机能听从程序 编制人员的指挥,就必须要将汇编语言或高级语言转换成机 器语言,供计算机识别,这个过程称为汇编(或编译)。 汇编工作常由汇编软件来完成。汇编软件通常具有指令 的错误识别与提示能力,为编程者迅速查找源程序中的错误 提供了方便。在汇编过程中,我们只能发现源程序中的语法 错误和一般性的逻辑错误,但不能检查程序结构上的错误。 如果有错误,汇编软件会报告,指出错误位置及错误类型。 程序错误被纠正后,要重新进行编译调试,直至程序汇编无 误为止。 在常用的汇编方法是交叉汇编,即用PC机中的汇编程序 去汇编80C51单片机中的源程序。汇编后生成的机器码称为 目标程序,扩展名为“.OBJ。该目标程序可通过PC机的 串行通信接口直接传送到开发系统的RAM中。 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
计算机只能识别机器语言,但程序编制人员通常以汇编 语言或高级语言编制源程序。这样,要让计算机能听从程序 编制人员的指挥,就必须要将汇编语言或高级语言转换成机 器语言,供计算机识别,这个过程称为汇编(或编译)。 汇编工作常由汇编软件来完成。汇编软件通常具有指令 的错误识别与提示能力,为编程者迅速查找源程序中的错误 提供了方便。在汇编过程中,我们只能发现源程序中的语法 错误和一般性的逻辑错误,但不能检查程序结构上的错误。 如果有错误,汇编软件会报告,指出错误位置及错误类型。 程序错误被纠正后,要重新进行编译调试,直至程序汇编无 误为止。 现在常用的汇编方法是交叉汇编,即用PC机中的汇编程序 去汇编80C51单片机中的源程序。汇编后生成的机器码称为 目标程序,扩展名为“.OBJ”。该目标程序可通过PC机的 串行通信接口直接传送到开发系统的RAM中。 2. 汇编
3.2.2伪指令 在前面的课题与实训环节中用到的0RG和E命令就是 典型的伪指令,它们是为下一步的汇编工作提供起始地址 和结束地址的。 我们知道,汇编语言程序的机器汇编是由计算机自动 完成的,因此在源程序中应该有向汇编程序发出的命令。 这种在源程序中出现,通知汇编程序应该如何完成汇 编工作的指令,就是伪指令。 下面介绍80C51单片机常用的伪指令。 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
在前面的课题与实训环节中用到的ORG和END命令就是 典型的伪指令,它们是为下一步的汇编工作提供起始地址 和结束地址的。 我们知道,汇编语言程序的机器汇编是由计算机自动 完成的,因此在源程序中应该有向汇编程序发出的命令。 这种在源程序中出现,通知汇编程序应该如何完成汇 编工作的指令,就是伪指令。 下面介绍80C51单片机常用的伪指令。 3.2.2 伪指令
1.0RG(0 rigin)汇编起始命令 格式为:ORG16位地址或标号 该命令总是出现在源程序的开始位置。用来规定目标程序(即此命 令后面的程序或数据块)的起始地址。ORG后面通常是16位地址, 也可以是已定义的标号地址或表达式。如ORG1000H。 在程序中如果不用oRG规定起始地址,则汇编得到的目标程序将从 0000H开始存放。在一个源程序中,ORG指令可以多次使用,但要 求地址值要由小到大依序排列,且不能出现空间上的重叠。 2.END汇编结束命令 格式为:END 该命令用于中止源程序的汇编工作。END是汇编语言源程序的结束 标志,因此在整个源程序中只能有一条END指令,且位于程序的最后。 如果END命令出现在源程序中间,对其后面的源程序,计算机将不予 汇编。 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
1. ORG(Origin)汇编起始命令 格式为:ORG 16位地址或标号 该命令总是出现在源程序的开始位置。用来规定目标程序(即此命 令后面的程序或数据块)的起始地址。ORG后面通常是16位地址, 也可以是已定义的标号地址或表达式。如ORG 1000H。 在程序中如果不用ORG规定起始地址,则汇编得到的目标程序将从 0000H开始存放。在一个源程序中,ORG指令可以多次使用,但要 求地址值要由小到大依序排列,且不能出现空间上的重叠。 2. END 汇编结束命令 格式为:END 该命令用于中止源程序的汇编工作。END是汇编语言源程序的结束 标志,因此在整个源程序中只能有一条END指令,且位于程序的最后。 如果END命令出现在源程序中间,对其后面的源程序,计算机将不予 汇编