版权归原作者所有,如有侵权,请联系我们

[科普中国]-源程序编辑

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

源程序

源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。将人类可读的程序代码文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,由各种编译器来完成。一般用高级语言编写的程序称为“源程序”。

作用:

1.生成目标程序;

2.对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

源程序编辑源程序编辑就是在微型计算机上借助编辑软件,编写汇编语言源程序,可供使用的编辑软件很多,如行编辑或屏幕编辑软件。1

编辑结束后,存盘退出。接下来就是使用交叉汇编软件,对编辑的源程序进行汇编。如果源程序无误,机器就会显示“OK”,如果有错误,机器就会显示有几个错误以及错误在哪条语句。这时就要重新编辑,然后重新汇编,直至汇编通过。

汇编源程序的编辑大多数的汇编程序都将源程序的编辑、汇编、与单片机仿真器的通讯、程序调试等集成在一个软件包内,使用时非常方便。

源程序经过机器汇编后,可自动形成两个文件:一是列表文件(.LST),另一个是目标文件(.OBJ)。

生成的目标文件程序经PC机的串行口传到开发机上,接下来就是仿真调试,经调试无误后,再经编程器将调试好的目标程序固化到程序存储器ROM中。

编辑源程序

设要编辑例6.2的源程序,键人以下命令:

C:\ASM>EDIT HEXToASC.ASM2

编辑文件名为HEXTOASC.ASM的源文件。文件的扩展名必须取为ASM。上述例子中,

C:\ASM>表示源程序所在的目录。

汇编源程序

键入以下命令:

C:\ASM>TASM HEXTOASC

屏幕显示下列信息

Turbo Assembler Version 3.1 Copyright(e)1988,1992 Borland International

Assembling file:HEXTOASC.ASM

*Warning*HEXTOASC.ASM(10)Reserved word used as symbol:STACK

Error messages: None

Warning messages:1

Passes: 1

Remaining memory:433k

表示无致命性错误,第10行仅有一个警告性错误,说明使用了系统保留字STACK,对该警告性错误可以不予理睬。但如果有错误信息,则需要改正错误,直到汇编无错以后,才会生成目标程序HEXTOASC.OBJ。

如果想生成列表文件LST,需要在汇编时加入控制参数/L,格式如下:

C:\ASM>TASM HEXToASC/L

对变量和标号的处理

汇编程序通过ASSUME语句了解到运行时各段寄存器的设定值后,就可以对被汇编语句中的变量和标号作如下处理。

(1)检查指令中所引用的变量和标号是否合理,即它们的段属性是否和某个段寄存器的段假设值相符。

(2)检查是否需要为所引用的变量和标号产生段超越前缀字节,即检查变量和标号的段属性,看是否与硬件所规定的段寄存器假设值相符。

单片机上的应用

单片机应用系统软件的开发和设计,几乎都是借助于微型计算机来完成的。3

在微型计算机上可以利用各种编辑软件编写单片机的汇编语言源程序。源程序的编写要依据于8051单片机汇编语言的基本规则及指令集(包括伪指令)。编写完成的源程序应以“.ASM”的扩展名保存,以备汇编程序调用。

单片机所能识别的仅为0或1的二进制数,即机器语言。因此,由汇编语言编写的源程序必须转换为单片机所能执行的机器码形式的目标程序,这个转换的过程即为汇编。该过程若由人工完成,则需要先由指令表查出每条指令对应的机器代码,列出一张和源程序对应的机器程序清单,然后在监控程序管理下,从键盘直接输入到单片机开发机中,并进行调试。这种方法不仅出错率高,且效率低。现在已经很少应用人工汇编。而是采用机器汇编。

机器汇编是在微型计算机上,使用交叉汇编程序将汇编语言源程序转换为计算机能够执行的机器码形式的目标程序。汇编工作完全由计算机自动完成。用机器汇编,方便快捷,并能在汇编过程中发现语法错误。

JAVA源程序的编辑与Delphi、VB、VC++等语言一样,JAVA源程序也是一个纯文本文件。编辑JAVA源程序时,可以使用任何一种一种纯文本编辑器,如Editplus或Windows操作系统中对自带的记事本等。4

常用的源程序编辑器介绍Notepad++(Windows)

优于Windows记事本的一个文本编辑器,完全免费且开源,对于不同的编程语言可以实现语法高亮,代码折叠以及宏,起可定。

Emacs(所有平台)

Emacs文本编辑器深受高级程序员的喜爱,具有内置的宏功能以及强大的键盘命令,这对于编辑代码来说真是一种享受,这个程序几乎被移植到了每一个平台,并有多个发行版,其中最流行的是GNU Emacs和XEmacs,它们是跨平台、完全免费并且开源。

UltraEdit(Windows)UltraEdit是一个49.95美元的共享软件,也提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏,以及一大堆其他的功能,内置了对于HTML、PHP和JavaScript等语法的支持,和其类似的一个共享软件EditPlus也不错。

TextMate(Mac OS X)

价值63美元的TextMate功能强大且更具吸引力,其界面很具吸引力,在短短几年中就获得了大量的爱好者。Windows用户如果喜欢TextMate的话可以尝试用一下类似TextMate的E Text Editor。

Vim(所有平台)

和Emacs一样,Vim以键盘宏而广受欢迎,做为著名的老牌编辑器Vi的后代,Vim很适合键盘操作的程序员的口味。Vim的可定制性很强,Windows用户可以试试gVim 或gVim Portable ,Mac用户则有MacVim。如果你只是需要Vim最有特色的部分的轻量型编辑器,可以试试Cream。

TextPad(Windows)

基于Windows的共享软件TextPad售价32.5美元,它同样拥有适合程序员的多种功能,语法高亮,代码拦截以及宏,TextPad具有不错的搜索能力和易用性。