Babbage (programming language)

For other uses, see Babbage (disambiguation).

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)

The topic of this article may not meet Wikipedia's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "Babbage" programming language – news · newspapers · books · scholar · JSTOR (October 2011) (Learn how and when to remove this template message)

|

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Babbage" programming language – news · newspapers · books · scholar · JSTOR (October 2011) (Learn how and when to remove this template message)

|

(Learn how and when to remove this template message)

Babbage

Paradigm| procedural, structured, High-level assembler
First appeared| around 1971; 52 years ago (1971)
Stable release|

308

OS| COS, 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[edit]

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[edit]

* GEC 4000 series
* OS4000

## References[edit]

1. ^ a b Illingworth, V. (1986). "B.001 Babbage". Dictionary of computing (2nd ed.). Oxford: Market House Books Ltd. ISBN 0-19-853913-4.
2. ^ Salomon, David (February 1993). "6.1.4 BABBAGE". Assemblers and Loaders (PDF). Ellis Horwood Series In Computers And Their Applications (1 ed.). Chicester, West Sussex, UK: Ellis Horwood Limited / Simon & Schuster International Group. pp. 184–185. ISBN 0-13-052564-2. Archived (PDF) from the original on 2020-03-23. Retrieved 2008-10-01. [1] (xiv+294+4 pages)

This programming-language-related article is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template