飞思卡尔汇编源程序的格式:每条语句包括以下4部分:标号、操作码、操作数、注释、例如:LOOP:STA$81;将累加器A中的内容存入$81单元中,在一条完整的语句中,操作码说明这条语句的功能。操作数可以是地址或数据,也可以空缺.例如隐含寻址指令。为了使程序便于编写和阅读,可以给一条语句指定一个标号和注释。
1.标号:标号是以英文字母开始的1~15个字符组成的字母或数字串,以冒号“:”结束,但“:”不是必须的,可以省略,只要使标号与操作码之间有空格隔开就行。为了增强程序阅读性,标号通常用代表某种含义的英文缩写来表示,并且常用于表示转移语句的转向地址、程序的起始地址或数据区域地址等。
例如:HERE:BRA HERE与HERE BRA HERE是等价的。
注意:一个标号在标号部分只能出现一次,否则就会发生重复定义的错误。
2.操作码:这是一条汇编语言指令不可缺少的部分,它位于标号之后,两者之间至少用一个空格隔开。在这部分,不区分字母的大小写,如LDA、Lda、lda均为相同的助记符。
注意:指令码与机器指令一一对应。若指令码包括与指令有关的寄存器名,则寄存器名不应与指令码用空格分开。
例如“CLRA”与“CLR A”是两条不同的指令,前者表示将累加器A清零,而后者意味着将由符号A定义的存储器单元清零。
3.操作数:不同的指令对操作数的要求也不一样,它也可能没有。若有,则操作数之间应用逗号分开。操作数部分的内容是复杂多样的,它可以包括下列形式,见表5—2。表达式由符号、常数、运算符和括号组成。表达式的运算结果作为操作数。S08允许使用的运算符及其含义见表5—3。
注意:“*”符号也用来表示当前行的地址值。
例如:BRCLR 7,SCISl,*;如果SCISl第7位是0,则在本句循环,否则顺序执行(在串行通信中常用)
4.汪释:此字段并非汇编语言的功能部分,主要是用于增强程序的可读性。对于初学者,建议多用注释。
更多精彩请您关注: