Léxico TI › Programación › Segmento BSS

Segmento BSS

Programación Svenska → Actualizado: 2026-11-03

La sección de memoria para variables globales y estáticas que empiezan valiendo cero: ocupa RAM, pero nada en el archivo del programa.

Un int buffer[4096]; global sin inicializador no necesita guardarse como 16 KB de ceros en el ejecutable. El compilador lo coloca en .bss y el archivo solo anota el tamaño de la sección. Las variables con valor inicial distinto de cero van a .data, cuyo contenido sí hay que incluir.

En un microcontrolador no hay sistema operativo que ponga la memoria a cero. El código de arranque recorre el rango entre los símbolos que define el script del enlazador y escribe ceros antes de llamar a main(). Si se olvida, el programa arranca con la basura que hubiera en la RAM, un fallo que suele aparecer solo tras un reinicio en caliente. El nombre es una reliquia de los años cincuenta: Block Started by Symbol, una pseudoinstrucción de un ensamblador del IBM 704.

← Volver al léxico