Tu ne peux pas faire un memset à l'extérieur des fonctions.
Soit tu utilises une version préhistorique de TIGCC, soit tu as mis un initialisateur vide (={}) alors que je t'ai dit de ne pas en mettre du tout, soit tu as mis des options non-standard (OMIT_BSS_INIT, -mno-bss ou un truc du style). Avec la dernière bêta de TIGCC (et depuis la 0.95 Beta 1 déjà), les variables non-initialisées sont remis à 0 à chaque fois.
Je ne comprends pas vraiment de quoi tu te plains, parce que visiblement, en regardant le binaire sorti par TIGCC, le memset y est bien, et en déboguant sous VTI, il a l'air de marcher!