eric@burdvax.UUCP (Eric Marshall) (08/29/86)
Could someone please tell me where the name BSS comes from. The comments in /usr/include/a.out.h says that it is uninitialized data. What's the connection? Thanks in advance. Eric Marshall System Development Corporation, a Burroughs Company P.O. Box 517 Paoli, PA. 19301 (215) 648-7223 USENET: sdcrdcf!burdvax!eric {sjuvax,ihnp4,akgua,cadre}psuvax1!burdvax!eric ARPANET: PAYTON@BBNG
dchen@oliveb.UUCP (Dennis Chen) (08/31/86)
In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > Could someone please tell me where the name BSS comes from. >The comments in /usr/include/a.out.h says that it is uninitialized >data. What's the connection? > The name BSS comes from an assembly pseudo-operator on the IBM 7090 machine, which stands for "Block Started by Symbol". Dennis Chen @ Olivetti ATC {allegra, fortune, glacier, hplabs, idi, ihnp4, sun}!oliveb!dchen
roy@phri.UUCP (Roy Smith) (08/31/86)
In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > Could someone please tell me where the name BSS comes from. > The comments in /usr/include/a.out.h says that it is uninitialized > data. What's the connection? I believe BSS stands for Block Started by Symbol. An external declaration such as "int iarray [100];" will typically get compiled into something like the following meta-assembler code: .bss ; start assembling into bss segment iarray: .word 100 ; allocate 100 words of space -- Roy Smith, {allegra,philabs}!phri!roy System Administrator, Public Health Research Institute 455 First Avenue, New York, NY 10016
bobr@zeus.UUCP (Robert Reed) (09/01/86)
To my recollection, BSS is an old mnemonic from early IBM days, standing for Block Started by Symbol, and related to BES, Block Ended by Symbol.
levy@ttrdc.UUCP (Daniel R. Levy) (09/02/86)
basic static storage -- ------------------------------- Disclaimer: The views contained herein are | dan levy | yvel nad | my own and are not at all those of my em- | an engihacker @ | ployer or the administrator of any computer | at&t computer systems division | upon which I may hack. | skokie, illinois | -------------------------------- Path: ..!{akgua,homxb,ihnp4,ltuxa,mvuxa, go for it! allegra,ulysses,vax135}!ttrdc!levy
rep@genrad.UUCP (Pete Peterson) (09/02/86)
In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > Could someone please tell me where the name BSS comes from. >The comments in /usr/include/a.out.h says that it is uninitialized >data. What's the connection? > This first place I saw "BSS" was in the FAP assembler for IBM 704,709, etc. (Vacuum tube computers at the end of the 1950's). It was a pseudo-instruction meaning "block starting with symbol" which assigned a label to the value of the current-location-counter then incremented the current-location-counter by the supplied argument, e.g. FUBAR BSS 500 left an uninitialized block 500 words long whose and assigned FUBAR to the first location of the block. There was also a BES in case you wanted your label at the end of the block instead of the beginning. pete peterson
bob@Iago.Caltech.EDU (Robert S. Logan) (09/02/86)
The first time I saw bss was in the IBM 7090/7094 macro assembler: BSS (block started by symbol) reserved a block of consecutive words and (optionaly) defined a symbol pointing to the first word. There was also a BES (block ended by symbol) op. I don't have a manual, but I suspect there was a BSS in the SHARE assembler for the 709, one of the first real assemblers. -- Robert S. Logan Campus Computing Organization, 158-79 Caltech, Pasadena, CA, 91125 818-356-4631 rslogan@caltech.bitnet bob%juliet@cit-hamlet.caltech.edu ...!ucbvax!bob%juliet@cit-hamlet.caltech.edu The above opinions are licensed (not sold)...
jrw@hropus.UUCP (Jim Webb) (09/03/86)
> > Could someone please tell me where the name BSS comes from. > The comments in /usr/include/a.out.h says that it is uninitialized > data. What's the connection? > It was, until divestiture, a Bell System Secret :-) Actually, though, it is the mnemonic from some arcane assembler that dealt with data segments and/or symbols. -- Jim Webb "Out of phase--get help" ihnp4!houxm!hropus!jrw
friesen@psivax.UUCP (Stanley Friesen) (09/03/86)
In article <513@zeus.UUCP> bobr@zeus.UUCP (Robert Reed) writes: >To my recollection, BSS is an old mnemonic from early IBM days, standing for >Block Started by Symbol, and related to BES, Block Ended by Symbol. Since this stuff is being posted, I will add my two cents worth. These assembly pseudo-ops were/are not restricted to old IBM systems, Honeywell/GE mainframes also use them. At least they used to, and since they are still maintaining upward compatiblity I cannot imagine them changing the assembler a great deal. --- Sarima (Stanley Friesen) UUCP: {ttidca|ihnp4|sdcrdcf|quad1|nrcvax|bellcore|logico}!psivax!friesen ARPA: ??
abs@nbc1.UUCP (09/03/86)
> In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > > > Could someone please tell me where the name BSS comes from. > >The comments in /usr/include/a.out.h says that it is uninitialized > >data. What's the connection? > > > > The name BSS comes from an assembly pseudo-operator on the IBM 7090 > machine, which stands for "Block Started by Symbol". > > > Dennis Chen @ Olivetti ATC > {allegra, fortune, glacier, hplabs, idi, ihnp4, sun}!oliveb!dchen I always thought it meant "blank storage space". -- Andrew Siegel, N2CN NBC Computer Imaging, New York, NY philabs!nbc1!abs (212)664-5776
joey@tessi.UUCP (Joe Pruett) (09/05/86)
Here's my two cents worth... I remember BSS standing for "Block Save Storage". When you have an unitialized global variable, it is "added" to the BSS area. This area is actually only a number in the a.out header which is the amount of memory to be allocated and zeroed out when the program starts. No disk space is allocated in the executable file for this area, since it is all zeroes, therefore the term "Block Save Storage". -joey
parris@itcatl.UUCP (Parris Hughes) (09/26/86)
In article <161@nbc1.UUCP>, abs@nbc1.UUCP writes: > > In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > > Could someone please tell me where the name BSS comes from. > > >The comments in /usr/include/a.out.h says that it is uninitialized > > >data. What's the connection? > > > > > The name BSS comes from an assembly pseudo-operator on the IBM 7090 > > machine, which stands for "Block Started by Symbol". > > Dennis Chen @ Olivetti ATC > > {allegra, fortune, glacier, hplabs, idi, ihnp4, sun}!oliveb!dchen > > I always thought it meant "blank storage space". > Andrew Siegel, N2CN NBC Computer Imaging, New York, NY > philabs!nbc1!abs (212)664-5776 DAP-16 Assembly on the OLD Honeywell 1648A used the same pseudo-op, and I believe it was "block storage space" parris ....gatech!itcatl!parris
jra@jc3b21.UUCP (Jay R. Ashworth) (10/09/86)
In article <159@itcatl.UUCP>, parris@itcatl.UUCP writes: > In article <161@nbc1.UUCP>, abs@nbc1.UUCP writes: > > > In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > > > Could someone please tell me where the name BSS comes from. > > > >The comments in /usr/include/a.out.h says that it is uninitialized > > > >data. What's the connection? > > > > > > > The name BSS comes from an assembly pseudo-operator on the IBM 7090 > > > machine, which stands for "Block Started by Symbol". > > > Dennis Chen @ Olivetti ATC > > > {allegra, fortune, glacier, hplabs, idi, ihnp4, sun}!oliveb!dchen > > > > I always thought it meant "blank storage space". > > Andrew Siegel, N2CN NBC Computer Imaging, New York, NY > > philabs!nbc1!abs (212)664-5776 > > DAP-16 Assembly on the OLD Honeywell 1648A used the same pseudo-op, and I > believe it was "block storage space" > > parris ....gatech!itcatl!parris Ok, guys, one more for the pile. They always told *me* that bss stood for basic stack segment. I *thinKk* (you do?:-) that I got that out of an old AT&T manual (V7?) Oh, well... -- jra -- Jay R. Ashworth Hi Technology Consulting jra@jc3b22.UUCP Programmer/Analyst 10974 111th St. N. (813) 392-2095 Boy Genius (:-) Seminole FL 33544 (So they tell me) Disclaimer: The opinions, if any, expressed in this article, if any, are not those of my employer (I am self-employed), if any, or anybody else, and probably resulted from Coca-Cola (Coca-Cola is a reg. tm of Coca-Cola USA) dripping down my keyboard.
larry@jc3b21.UUCP (10/09/86)
In article <473@jc3b21.UUCP>, jra@jc3b21.UUCP (Jay R. Ashworth) writes: > In article <159@itcatl.UUCP>, parris@itcatl.UUCP writes: > > In article <161@nbc1.UUCP>, abs@nbc1.UUCP writes: > > > > In article <2627@burdvax.UUCP> eric@burdvax.UUCP (Eric Marshall) writes: > > > > > Could someone please tell me where the name BSS comes from. > > > > >The comments in /usr/include/a.out.h says that it is uninitialized > > > > >data. What's the connection? Just to confuse the issue. The same pseudo-op was (is) used on the CDC 6000, 7000 (, and I believe 3000) series computers. In THAT environment it stood for 'Block Storage Start' (no, I don't know why 'start' instead of 'size' ...) -----Lawrence F. Strickland (larry@jc3b21) --------------------------- Dept. of Engineering Technology + Cthulhu + St. Petersburg Jr. College + R`lyeh + P.O. Box 13489 + wgah`nagl + St. Petersburg, FL 33733 + fh`tagn + Phone: +1 813 341 4705 --------------------------- UUCP: ...akgua!akguc!codas!peora!ucf-cs!usfvax2!jc3b21!larry
paul@whuts.UUCP (HO) (10/10/86)
> > > > The name BSS comes from an assembly pseudo-operator on the IBM 7090 > > > > machine, which stands for "Block Started by Symbol". > > > > > > I always thought it meant "blank storage space". > > > > DAP-16 Assembly on the OLD Honeywell 1648A used the same pseudo-op, and I > > believe it was "block storage space" > > > Ok, guys, one more for the pile. They always told *me* that bss stood > for basic stack segment. I *thinKk* (you do?:-) that I got that out of an > old AT&T manual (V7?) Oh, well... According to Maurice Bach's book (The Design of the Unix Operating System), bss is block started by symbol. ihunp!whuts!paul
mwm@hslrswi.UUCP (Mike McGann) (10/27/86)
BSS goes back further than the CDC 6000 series. We used it on the CDC 1600 and 160 series. Actually it means 'Block Start Symbol' the label of the statement refering to the first byte of a block of un-initialized storage. Correspondingly there was a BES or 'Block Ending Symbol' where the label refered to the last byte of the un-initialized block of storage. Mike McGann ...mcvax!cernvax!hslrswi!mwm
adams@omssw2.UUCP (Robert Adams) (10/30/86)
> BSS goes back further than the CDC 6000 series. We used it on the CDC 1600 > and 160 series. Actually it means 'Block Start Symbol' the label of the > statement refering to the first byte of a block of un-initialized storage. > Correspondingly there was a BES or 'Block Ending Symbol' where the label > refered to the last byte of the un-initialized block of storage. > > Mike McGann > ...mcvax!cernvax!hslrswi!mwm My information was that the BSS/BES was developed for the IBM 70x0 series (7090 or "Stretch" series). The "Block Ended by Symbol" was required because the instruction set subtracted the index registers (saved the hardware guys a level of inverters or something). This was also the machine that set the Fortran "standard" of backwards array calculation because of the way subscripts were best calculated and because of the subtracting of indexes. The "Stretch" series was designed in the late 50s and early 60s and was a line of (then) big computers that IBM dropped when it put all of its eggs in the 360 basket. -- Robert Adams ...!{decvax,ihnp4,hplabs,cbosgd}!tektronix!reed!omssw2!adams