Babbage (programming language)

From HandWiki
Babbage
Paradigmprocedural, structured, High-level assembler
First appearedaround 1971; 53 years ago (1971)
Stable release
308
OSCOS, GEC DOS, OS4000
Influenced
BCPL

Babbage is the high level assembly language for the GEC 4000 series minicomputers.[1][2] It was named after Charles Babbage, an English computing pioneer.[1]

Example

PROCESS CHAPTER FACTORIAL

ENTRY LABEL ENTRYPOINT

LITERAL TO = 4                              // Assume using the default proforma

EXTERNAL ROUTINE
     OPEN,
     PUT,
     CLOSE,
     TOCHAR

VECTOR [0,19] OF BYTE ANSWER = "factorial x = xxxxxx"
 
HALF COUNT
HALF VALUE
FULL RESULT

//******************************************************************************

     ROUTINE FACT(VALUE)
     // return factorial of RA.

     VALUE => RESULT

     WHILE DECREMENT VALUE GT //0// DO
     <<
          RESULT * VALUE => RESULT
     >>
     RETURN(RESULT)
     END

//******************************************************************************

ENTRYPOINT:

     OPEN(TO, 1)

     // Print factorials for numbers 1 through 9
     1 => RA
     REPEAT
     <<
          RA => COUNT
          FACT(RA) => RA
          TOCHAR(RA, 7, ANSWER + 13)
          TOCHAR(COUNT, 2, ANSWER + 9)
          PUT(TO, 20, ANSWER)
          COUNT + 1 => RA
     >>
     WHILE RA LT 10

     CLOSE(TO)
     STOP(0)
     END

//******************************************************************************

See also

References

  1. 1.0 1.1 Illingworth, V. (1986). "B.001 Babbage". Dictionary of computing (2nd ed.). Oxford: Market House Books Ltd.. ISBN 0-19-853913-4. 
  2. "6.1.4 BABBAGE". Assemblers and Loaders. Ellis Horwood Series In Computers And Their Applications (1 ed.). Chicester, West Sussex, UK: Ellis Horwood Limited / Simon & Schuster International Group. February 1993. pp. 184–185. ISBN 0-13-052564-2. http://www.davidsalomon.name/assem.advertis/asl.pdf. Retrieved 2008-10-01.  [1] (xiv+294+4 pages)