在ARM上对BSS中的数据块进行零初始化

时间:2013-06-28 21:28:16

标签: assembly windows-phone-8 arm

Microsoft ARM汇编程序,面向Windows Phone。我想在BSS部分创建一个长(~6KB),零位数据块。请问,这有什么好的语法? %指令不是零init,是吗?默认情况下,BSS部分是否为零?

1 个答案:

答案 0 :(得分:1)

Microsoft的ARM汇编程序指令中的MSDN entry声明“在大多数情况下,Microsoft ARM汇编程序使用ARM汇编语言,ARM汇编程序工具指南的第7章中对此进行了介绍。” / em>的

所述指南的

Section 7.3.4涵盖了FILLSPACE指令,并对此有FILL

  

{label} FILL expr {,value {,valuesize}}`

     


  计算值以填充保留字节。 value是可选的,如果省略,则为0. 值   在NOINIT区域必须为0

这意味着如果存储块位于NOINIT区域(.bss应该是),则它将被初始化为零。