Related articles |
---|
BSS... peter.egli@x400.siemens.ch (peter egli) (1998-01-05) |
From: | peter egli <peter.egli@x400.siemens.ch> |
Newsgroups: | comp.compilers |
Date: | 5 Jan 1998 13:13:55 -0500 |
Organization: | Siemens Schweiz AG |
Keywords: | history |
Does anybody know what BSS (uninitialised data section of a program)
means or where this abbreviation comes from ?
Regards Peter
--
* Peter Egli *
* Siemens CH AG *
* Access Networks *
* Freilagerstrasse 40 *
* CH-8047 Zuerich *
* Tel: +41 1 495 30 51 *
* Fax: +41 1 495 54 14 *
* e-mail: mailto:peter.egli@siemens.ch *
* x400: c=CH a=400NET p=SCN *
* o=SIEMENS ou1=ZRH1 *
* s=Egli g=Peter *
[I've heard a variety of explanations but here's the one I belive:
Back in the 1950s, the IBM 704 and its descendants up through the 7094
had an odd addressing scheme. Although most arithmetic was
sign-magnitude, the index registers were two's complement and the
contents of the index register was subtracted rather than added to the
base address in an instruction to get the effective address. Hence a
lot of programs, including everything written in Fortran, stored their
arrays backward. The FAP assembler had two pseudo-ops to reserve
storage, BSS for Block Started by Symbol and BES for Block Ended by
Symbol. The backward addressing has long since disappeared but BSS
lives on. This explanation is credited to Ritchie in the Unix FAQ
that's floating around the net. Alternative explanations welcome, but
if they don't predate 1960 and have documentation, they're not
persuasive. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.