First a loader would read an assembler into main memory and transfer control to it. The assembler then read the user source program and library routines, which generally from punched cards or paper tape, and assemble these into excutable machine code. For the main memory was very small, the excutable machine code would be written to a magnetic tape or punched cards as it was producted by the assembler. A loader would again be invoked to read the complete assembled program into main memory would be excuted. Any of the output generated that Would Be Either Written to Tape or Cards, or Printed by a line Printer.