Writing a program

Coding the EDSAC simulator is essentially the same process to writing code for the original EDSAC, however it has remarkable similarities to modern day assembly language programming. In order to make coding easier for modern programmers, the EDSAC 1999 supports some additional language features, namely comments, labels and constants. EDSAC 1999 is fully backwardly compatible with the original EDSAC instructions and code, and these additional features (called Indian Assembler) are described later in this document.

Character Substitution

The original EDSAC used a different set of characters to specify instructions. Most notable is the addition of 4 Greek characters and lack of punctuation. For this reason the following substitutions of characters are made:

Character Type
Theta @
Phi !
Delta &
Pi #

Syntax Errors

If a mistake was made when programming the original EDSAC, there was no interactive help with debugging from the system.  A deliberate design decision was that on encountering an instruction code not in the defined set, the EDSAC would simply halt.  In this way, it would be clear that a programming mistake had been made.  A series of "post-mortem" tapes were also available, these consisted of programs that were loaded in the normal way immediately after execution of another program - without clearing the memory first.  The contents of the memory were then output to tape and the programmer could conduct a "post mortem" on why the program failed.  These post mortem programs are available as examples with EDSAC 1999

EDSAC 1999 deals with EDSAC code in exactly the same way, however due to the addition of new language constructs in Indian Assembler, this introduces new possibilities for error.  Syntax errors caused by incorrect use of comments, labels, and the CONST function are displayed at the bottom of the editor window when a tape is loaded.