Skip to content
Sections
Personal tools
You are here: Home » Projects » cyhist » Cyhist 1998 » Cyhist April 1998 » Cyhist Apr. 10 1998 C

Cyhist Apr. 10 1998 C

Document Actions
========================================================================= Date: Fri, 10 Apr 1998 09:24:48 -0700
Reply-To: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Stan Mazor <stan.mazor@BEASYS.COM>
Subject: FOO on you!!
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________

FOO (IBM 360) in computer science by Stan Mazor 4-98
I programmed IBM 360 assembler in 1965, my FOOlish thoughts... Early 36-bit computers used octal notation to describe the contents of data words. The IBM 360 was a 32-bit machine with 16 registers and base 16 floating point arithmetic; the exponent was to a base 16 and the normalization was on 4-bit boundries. So the ibm360 was a hexadecimal (IBM wouldn't say SEXadecimal) machine. Accordingly they needed to document base 16 constants and chose a hexadecimal notation to accomodate the 16-digits 0-F in the assembler language and on various memory printouts (dumps).
Historyically assembler languages supported labels and constants. Syntactically the difference between a label and a constant was that constants started with a numeral and labels started with a letter. In other words 9AA was not a valid label and B12 was an invalid numeric constant. Hexadecimal aggrevated this syntax and to be compatible, hexadecimal constants needed to start with a numeric digit so, for example, 0B12 was a valid numeric constant in IBM 360 assembler languages.
I recall an example from an IBM training class which might have been in the assembler manual as follows:
FOO is a label
0F00 is a constant
Hence it is my conjecture that FOO as a label was introduced for the IBM 360. Later in many computer explanations labels and files were often called FOO, (just as we often talk about "Smith" as the generic example of a name).
In the hardware domain logic designers often used signals FOO and FOOBAR, where BAR was the deignation for the inverted signal FOO.
(pun on the military acronym F.U.B.A.R., eg. " 'fugged' up beyond all recognition"). I invite comments on the use of FOO or prior to 360 usage of hexadecimal.
thx. stan

------------------------------------------------- Stanley Mazor 408-542-4120 phone
Training Department 408-542-4110 fax
BEA Systems smazor@beasys.com
385 Moffett Park Dr. Enterprise Middleware
Sunnyvale, Ca. 94089-1208
______________________________________________________________________
Created by sbaldwin
Contributors :
Last modified 2004-11-04 01:06 PM
 

Powered by Plone

This site conforms to the following standards: