EDSAC Initial Orders(ID:3411/eds002)

First ever assembler system 


Assembler with abstraction designed by Wheeler for the EDSAC computer. EDSAC was based on EDVAC, and the Intial Orders system was the first Highish-level (ie faintly abstractive) language for a Von Neumann architecure machine.

IO was hugely influential in developing the first generalised languages. The "Initial Orders" allowed EDSAC to be programmed symbolically instead of directly using machine code: the "orders" referred to were what would now be referred to as an "instruction set". After the library system was published in Wilkes, Wheeler and Gill the use of higher level instructions became universal, (and indirectly led to greater machine incompatibility!).

The system was essentially designed by Wheeler, who create not only the first library system in it, but also the first Jump statement (to make it possible) (and therefore the goto!)

Wilkes systematised the orders to the regional assembly, and that led to most modern symbolic assemblers, so in fact the IO was the beginning of two importantant programming traditions.

Wilkes, Wheeler and Gill was the first ever programming book.




People:
Related languages
ENIAC short code => EDSAC Initial Orders   Influence
EDSAC Initial Orders => ASSEMBLY   Incorporated features of
EDSAC Initial Orders => DOI   Based on
EDSAC Initial Orders => EMAL assembly   Incorporated features of
EDSAC Initial Orders => MOSAIC autocode   Based on
EDSAC Initial Orders => RAL   Systematisation
EDSAC Initial Orders => Sequentielle Formelübersetzung   Incorporated features of
EDSAC Initial Orders => TAC initial orders   Extension of
EDSAC Initial Orders => TREAC Autocode   Based on
EDSAC Initial Orders => Whirlwind   Influence

References:
  • Wilkes, MV "Report of a Conference on High Speed Automatic Calculating-machines", University Mathematical Laboratory, Cambridge, June 1949; view details
  • Gill S. "A Process for the Step-by-Step Integrations of Differential Equations in an Automatic Digital Computing Machine" Proceedings of the Cambridge Philosophical Society, communicated by M. V. Wilkes, 1950 view details
  • Wheeler, David "Programme organization and initial orders for the EDSAC" Proceedings of the Royal Society 202 1950 view details
  • Wilkes, M. V. "Automatic Computing." (Summer School Report) p292 view details
          in Summer School Report Nature vol 166 view details
  • Wilkes, M. V. "The Use of the EDSAC for Mathematical Computation." p429 view details
          in Applied Science Research Bulletin vol 1 (1950). view details
  • Wilkes, M. V., Renwick, W. "The EDSAC (Electronic Delay Storage Automatic Calculator.)" p61 view details
          in MTAC vol 4 (1950) view details
  • Wilkes, M. V. "Automatic Calculating Machines." p56 view details
          in Journal Roy. Soc. of Arts vol 100 (1951) view details
  • Wilkes, M. V. "Can Machines Think?" view details
          in Spectator No. 6424 vol 117 (10 Aug 1951) view details
  • Wilkes, M. V., Wheeler, D. J. and Gill, S. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley 1951 view details
          in Spectator No. 6424 vol 117 (10 Aug 1951) view details
  • Wilkes, M. V. "Pure and Applied Programming" p121 view details
          in Proc. ACM Toronto Meeting 1952 view details
  • Wilkes, M. V. `The EDSAC Computer' page 79. view details
          in [JCC 01] Joint AIEE-IRE Computer Conference Proceedings February 1952 view details
  • Brooker, R. A., and D. J. Wheeler, "Floating operations on the EDSAC" pp37-47 view details
          in Mathematical Tables and Other Aids to Computation 7 view details
  • Brooker, R. A., and D. J. Wheeler, "Floating operations on the EDSAC" pp37-47 view details
          in Mathematical Tables and Other Aids to Computation 7 view details
  • Wilkes, M. V. "Calculating Machine Development at Cambridge" view details
          in Bowden B.V. (ed.) "Faster Than Thought: A Symposium on Digital Computing Machines" Pitman 1953 view details
  • Wilkes, M. V. `Experiences D'Operations Effectuees Avec l'EDSAC.' view details
          in Report of the Conference on `Les Machines a Calcules et la Pensee Humaine.' CNRS, Paris (1953). view details
  • Wilkes, M. V., Phister, M., Barton, S. A. "Experience with Marginal Checking and Automatic Routining of the EDSAC" p239 view details
          in Automatic Digital Computation NPL Symposium 1953, . London, HMSO (1954). view details
  • Wilkes, M. V., Phister, M., Barton, S. A. "Experience with Marginal Checking and Automatic Routining of the EDSAC" p66 view details
          in IRE Convention Record Part 7 (1953) view details
  • Wilkes & Willis [Description of EDSAC] Proc IEE 103B Supplement N.2 p337 (1956) view details
          in IRE Convention Record Part 7 (1953) view details
  • Wilkes, M.V.; Wheeler, D.J. and Gill, S. "The preparation of programs for an electronic digital computer" 2nd edition Addison-Wesley, Reading Mass. 1957 view details
          in IRE Convention Record Part 7 (1953) view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. view details
          in IRE Convention Record Part 7 (1953) view details
  • Campbell-Kelly, Martin "Programming the EDSAC: Early Programming Activity at the University of Cambridge" pp. 7-36 view details
          in Annals of the History of Computing 02(1) view details
  • Wheeler, D. J. "Programmed computing at the Universities of Cambridge and Illinois in the early fifties" pp53-58 view details
          in Proceedings of the ACM conference on History of Scientific and Numeric Computation Princeton NJ 1987 view details
  • Wheeler, Joyce M. "Applications of the EDSAC" view details Abstract: Early applications of EDSAC are described - including the calculation of prime numbers, solutions of algebraic equations, and experimental learning programs - to illustrate the wide field of programs written in the first years of stored-program computing. The influence of the library routines - such as those for the solution of differential equations - on progress in applied mathematics is considered. The initial work in wave mechanics, economics, crystallography, and radio astronomy is described. Finally, the development of EDSAC 2 and its importance to the advance of many of these topics are considered.

          in Annals of the History of Computing October-December 1992 14(4) view details
  • Wheeler, David "Events in the early history of the Computer Laboratory" - Notes by David Wheeler, additional material by David Hartley view details
          in Annals of the History of Computing October-December 1992 14(4) view details
  • Diana H. Hook; Jeremy M. Norman; Michael R. Williams "Origins of Cyberspace" Jeremy Norman 2002 view details Extract: Initial Orders
    Wheeler's paper describes the first and second forms of EDSAC's initial orders, along with the use of subroutines. EDSAC's order code and first and second forms of initial orders are listed in appendices at the end of the paper. EDSAC's programming system was largely developed by Wheeler; it was based upon a library of subroutines which could be linked together at load time. Wheeler also invented the subroutine jump ("Wheeler jump"), which, by storing the address of where program execution was taking place, enabled the machine to jump to a subroutine, execute the subroutine code, and then return to where it had left off executing the main program. These innovations provided a model for future programming development.
          in Annals of the History of Computing October-December 1992 14(4) view details