1.段定义命令
汇编与链接程序建立的目标文件采用共用目标文件格式(COFF),便于模块化编程、管理代码段和存储,即不必为程序代码或变量指定目标地址,这为程序编写、移植和升级提供了很大方便。汇编器根据汇编命令(也称为伪指令)用适当的段将各部分程序代码和数据连在一起,构成目标文件。链接器分配存储单元,即把各个段重新定位到目标存储器中。段(Section)是目标文件的最小单位,是在存储器中占据连续空间的代码和数据块,各段相互独立。
有如下段定义命令:
1).text命令。定义text段,即程序段,该段通常包含可执行代码即程序。该段是系统的默认段。
2).data命令。定义data段,即数据段,该段通常包含已初始化的常数数据。该段是系统的默认段。
3).bss命令。定义bss段,即保留数据空间段,该段通常为未初始化的数据保留空间。该段是系统的默认段。该命令的格式为:.bss符号,字数
4).sect命令。用户可以自行定义已初始化段。该命令的格式为:.sect“段名”
5).use ct命令。用户可以自行定义未初始化段,为变量保留空间。该命令的格式为:符号.usect“段名”,字数
2.常数初始化命令
1).word:将一个或多个16位的值,放入当前段中的连续字中。
2).byte:将一个或多个8位的值,放入当前段中的连续字中。
3).bes,.sp ace:在当前段内保留特定的二进制位数。
4).float:计算单精度32位IEEE浮点数值,并将其存入当前段中的两个连续的字中。(www.xing528.com)
5).int:将一个或多个16位的数,放入当前段中的连续字中。
6).long:将32位的数,放入当前段的连续字中。
7).string:将一个或多个8位的字符放入当前段。
【例3-3】汇编命令.word、.byte、.flo at、.int、.lo ng、.string的使用。
3.其他汇编命令
1).include:告诉汇编器从其他文件读入源语句。例如:include“F2407REGS_A.h”,表示将寄存器定义头文件F2407REGS_A.h包含到汇编语言源程序中。
2).global、.def、.ref:定义全局符号,在连接时可供其他模块使用。外部符号是指在一个模块中定义,在另一个模块中使用的符号。可使用.def、.ref或.global汇编伪指令将符号定义为外部符号。.def用于在当前模块中定义,可以在别的模块中使用的符号。.ref用于在当前模块中引用,但在别的模块中定义的符号。.global可用于以上任何一种情况。例如:
3).if/.elseif/.else/.endif:条件汇编命令。
4).set和.equ:为一个符号设置一个常数值,二者是等价的。该符号存在符号表中,不能再定义。
例如:
通常将片内外设寄存器地址的定义等做成一个头文件例如:F2407REGS_A.h,然后用.include命令将该文件包含到汇编语言程序中。
5).end:汇编语言程序结束。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。