一、源文件
源文件是由文字编缉器编写的由汇编指令和MASM51伪指令构成的文本文件。源文件一般应以.ASM为扩展名。
- 二、源文件的格式
以回车作为结束的一行称为语句行。每一语句行长度应少于80个字符(即40个汉字)。每一个语句行对于汇编程序来说都是一条单独的命令行,它可以是一条汇编语言指令,也可以是一条注释,或是空白(即什么也不写),还可以是系统允许的伪指令。所有行必须按照INTEL标准格式书写即:
标号: 命令 参数 ;注释
即一行由四部份组成,各部份的顺序不能搞错,但可以根据需要缺省其中的一部份或几部份,甚至全部省去,即空白行。标号后面必须有‘:’,而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用‘,’分开,注释前必须用‘;’,也即‘;’后面的语句将不参与汇编,不生成代码,所以可以在‘;’引导的后面写任何字符,包括汉字。
标号是标志程序中某一行的符号名,标号的数值就是标号所在行代码的地址。在宏汇编MASM51中标号的长度不受限制,但标号中不能包含‘:’或其它的一些特殊符号,也不以用汉字,可以用数字作标号,但必须用字母开头。当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:’(如 LJMP START中的 START)。
每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。由于标号的长度没有限制,可以用有意义的英文来说明行,使源程序读起来更方便。
命令及参数请参考有关单片机教材,其规定符合INTEL公司的51单片机汇编语言要求。这里必须注意:当采用十六进制数时,如果数值是以A,B,C,D,E,F开头的,则为了区分是数字还是字母,应当在这些数字前加'0',如FFH,应当写成0FFH,C0H应写成0C0H等。
注释用于对程序的说明,它以分号开始,以回车结束。源程序行可以只包含注释,注释只是被复制到列表文件中,不产生机器码。由于汇编程序不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于源程序的阅读。否则,时间一长,自编的程序也会搞不清表达的含义。典型的注释有如下几种:1.在一行的后面写,以说明这一行语句的用途;2.在一段子程序的前面写,以说明这一子程序的用途,由什么程序调用,入口参数,出口值,占用资源等等情况;3.在整个源程序的最前面书写,以说明本程序的用途,资源的分配等情况。以下是一个例子:
;堆栈从5FH起
;01H单元,用作键盘扫描程序判断是否有键按下,有为'1',无为'0'
;38H单元,音量大小代码,初始为2
ORG 0000H
LJMP START
ORG 0003H ;外中断0处理程序
NOP
RET
START: ;初始化程序
MOV SP,5FH
.
.
;***********************************************
;以上初始化程序
;***********************************************
MAIN:
LCALL KEY
LJMP MAIN
;**********************************************
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

