The EDSAC Order Code: Explanatory Notes
|Computer Laboratory > The EDSAC Order Code: Explanatory Notes|
by David Wheeler
The orders in the order code were devised by Maurice Wilkes probably with Bill Renick's assistance. It had been decided to have a full order decoder, so the choice of letters for the functions was reasonably unrestricted. I suggested the present letters with the aid of other's suggestions. I cannot remember why we could not use M for multiply, but we did try to make it as mnemonic as possible. J was not used for jump because the operation was then thought of as "transfer of control".
The strange shift orders were a small nuisance, but they used almost the same hardware as multiplication. The shifting continued until the least significant of the order was strobed.
The orders had the binary format as follows: There were 17 bits to define an order which was also the length of a short storage location. The five most significant bits determined the type of order such as add. The next was spare and had no effect (except sometimes in a shift order) The next ten bits defined a store address (in most orders). The next was a length discriminant bit which if 1 caused the operand to be a long number.
The written form of the orders was
The program orders were mixed with directives which affected where the orders were placed and how they were modified, and where the program was started.
The decimal address was not fixed format and so if omitted it had the value zero. This reduced the input time appreciably.
The order code evolved with time and this is the version the computer had in 1949.