IT lexicon › Programming › Initial orders

Initial orders

Programming På svenska → Updated: 2026-08-06

Thirty-one instructions burned into telephone switches — the small piece of start-up code that taught EDSAC to read in its own programs.

When EDSAC was switched on in May 1949 the memory was empty, and a machine with no program cannot read in a program. The answer was to keep thirty-one instructions permanently in a bank of uniselectors — rotary telephone switches whose fixed positions acted as a tiny read-only memory. Pressing the start button copied them into location zero upwards, after which they took over and pulled the rest off paper tape.

David Wheeler's code did more than copy. It translated a format written for humans — a letter for the operation, a decimal number for the address, a letter for the word length — into binary words, which makes it an early ancestor of both the loader and the assembler. The second version, later that autumn, added relative addressing and could assemble library subroutines with parameters. The idea of a small fixed piece of code that hauls in the large one still goes by the name bootstrap, though it now lives in firmware rather than telephone switches.

← Back to the lexicon