BSS segmenti
Sıfırla başlayan global ve statik değişkenlerin bellek bölümü — RAM’de yer kaplar, ama program dosyasında yer kaplamaz.
Başlangıç değeri olmayan global bir int buffer[4096]; için çalıştırılabilir dosyada 16 KB’lık sıfır yığını saklamak gerekmez. Derleyici onu .bss bölümüne koyar, dosya yalnızca bölümün boyutunu kaydeder. Sıfırdan farklı başlangıç değerli değişkenler ise içeriği gerçekten dağıtılması gereken .data bölümüne gider.
Mikrodenetleyicide belleği sizin yerinize sıfırlayacak bir işletim sistemi yoktur. Başlangıç kodu, linker betiğinde tanımlı semboller arasındaki aralığı main() çağrılmadan önce sıfırlarla doldurur. Bunu unutursanız program RAM’de ne çöp varsa onunla başlar; üstelik bu hata yalnızca yazılımsal sıfırlamadan sonra ortaya çıkmayı sever. Ad 1950’lerden kalma bir yadigârdır: Block Started by Symbol, bir IBM 704 assembler’ındaki sahte komut.