of memory could only be used for data. Programs could use a 12-bit accumulator and a one-bit link register. The first sixteen locations in program memory had special functions. Location 0 supported the single-level of subroutine call, automatically being updated with a return address on every jump instruction. The next fifteen locations could be used as index registers by one of the addressing modes. A programmable, six-bit relay register was intended for use by external instruments. A later modification to the LINC added a 12-bit Z register to facilitate extended precision arithmetic, and an interrupt was provided forcing execution to location 21 (octal). Alphanumeric input/output devices included a dedicated keyboard, and the ability to display text on the attached bit-mapped CRT. A teleprinter could be connected for printed output. Arithmetic was ones' complement, which meant that there were representations for "plus zero" and "minus zero". The original LINC required 8 microseconds for each instruction. Instruction set The natural notation used for the LINC was octal. In this section, all numbers are given as base ten unless identified as octal. The LINC instruction set was designed for ease of use with scientific instruments or custom experimental apparatus. Miscellaneous class, no address - Halt, clear accumulator, enable tape mark write gate, transfer accumulator to relay register, read relay register to accumulator, no operation, complement accumulator Shift class, no address (all operate on the accumulator and optionally the link bit) - rotate left, rotate right, scale right (replicates sign bit), Full address class, two word instructions. immediate address given in second 12-bit word of the opcode - add, store and clear accumulator, jump. Only the first 1024 words of memory can be accessed. Skip class, skips the next instruction, can test for set or clear condition. Conditions are: external logic line (14 input lines could be tested), key struck, one of five sense switches, accumulator positive, link bit zero, or active tape unit in an interblock zone. Later models added skip on bit 0 of the Z register, skip on overflow, and skip on interrupt paused. Index class - these instructions could either have a second word that was the immediate operand, or that specified the operand address, or that specified one of the registers 01 through 15 (decimal) as holding the address of the operand. The address was incremented. These instructions included load or add to accumulator, add accumulator to memory, add