.section伪操作
用户可以通过.section伪操作来自定义一个段,格式如下:
.section section_name [, "flags"[, %type[,flag_specific_arguments]]]
注释:
- section_name 段名.
每一个段以段名为开始,以下一个其它段名或者文件结尾为结束
。- flags
这些段都有缺省的标志(flags),连接器可以识别这些标志。(与armasm中的AREA相同)。- type
type可以是 @progbits(节中包含数据),@nobits(节中不含数据,只是占位空间),@note(节中包含注释信息,不是程序)。
下面是ELF格式允许的段标志:
<标志> | 含义 |
---|---|
a | 允许段 |
w | 可写段 |
x | 执行段 |
【例3】定义段
.section .mysection @自定义数据段,段名为 ".mysection"
.align 2
strtemp:
.ascii "Temp string /n/0"
汇编系统预定义的段名
.text @代码段
.data @初始化数据段
.bss @未初始化数据段
.sdata @
.sbss @
注意:
源程序中 .bss段 应该在 .text 之前!