The source file is loaded on the proper input device and the bits of the A-Register are set to indicate the mode of assembly and the devices being used for input and output (see Figure below). Some Input/Ouput Supervisors also requrie a B-Register setting. Set the P-Register to '400 and push the START button (see Table below for other starting addresses).

At the end of the first pass the computer will halt. If a two-pass assembly is being performed, press the START button when the source has been repositioned. When the source is on magnetic tape automatic positioning can be specified and the computer in this case does not halt.

A register control bits
ASSEMBLER STARTING ADDRESSES
'400 Start normal assembly
'401 Continue assembly (used after halts for read errors etc.)
'402 Start subroutine assembly (no end-of-file will be placed in the object text)
'403 Terminate assembly (place end-of-filein the object text)
'404 Restart second pass for additional listing or additional object text (A-Register bit changes accepted).

IOS-016X

IOS-016X is a supervisory program which permits a choice of input and output devices. This program must be used only on computers with 8K or more of memory locations.

DEVICE SELECTION WITH IOS-016X
Symbolic Input Bits 8-10
0 Undefined
1 ASR
2 High-Speed Paper Tape Reader
3 Card Reader
4 Magnetic Tape
5-7 Undefined
Object Text Outputs Bits 11-13
0 Undefined
1 ASR
2 High-Speed Paper Tape Punch
3 Card Punch
4 Magnetic Tape
5-7 Undefined
Listing Output Bits 14-16
0 Undefined
1 ASR
2 High-Speed Paper Tape Punch
3 Line Printer
4 Magnetic Tape
5-7 Undefined

Using the emulator

There are one or two points to note when using the emulator.

The easiest way to use the assembler on the emulator is to use the high speed paper-tape reader and punch for source code and object code.

The source code is expected by the assembler in an ASCII format, with the top bit forced to '1'. In order to allow use of text files produced on the host computer with a normal text editor (emacs, vi, etc.) the filename may be prefixed with an ampersand character. This causes the top bit to be forced as the file is read.

At the end of the first pass, the tape cannot be "repositioned" back to the start. Simply press START and the assembler will read the end of the tape from the previous pass (which should be the all-zeros trailer) and on encountering end-of-file will prompt for a new filename. At this point enter the same filename again to run the second pass.

Source code is most easily entered in what is called "Tab-Field Format" rather than the alternative "Fixed-Field Format". This uses the backslash character to delimit the source code fields (label, operation, address and comment). An example would look like this:

\ORG\'1000 \LDX\=-500 L1\IRS\0 \JMP\L1 \HLT \END