ASSIST (computing)

ASSIST (the Assembler System for Student Instruction and Systems Teaching) is an IBM System/370-compatible assembler and interpreter developed in the early 1970s at Penn State University by Graham Campbell and John Mashey along with student assistants.

In the late 1960s, computer science education expanded rapidly and university computer centers were faced with a large growth in usage by students, whose needs sometimes differed from professionals in batch processing environments. They needed to run short programs on decks of Punched cards with fast turnaround (minutes, not overnight) as their programs more often included syntax errors. Once they compiled, they would often fault quickly, so optimization and flexibility were far less important than low overhead.

WATFIV was a successful pioneering effort to build a FORTRAN compiler tuned for student use. Universities began running it in a dedicated "fast-batch" memory partition with a small run-time limit, such as 5 seconds on an IBM System/360 Model 67). The low limit enabled fast turnaround and avoided waste of time by programs stuck in infinite loops. WATFIV's success helped inspire development of ASSIST, PL/C and other student-oriented programs that fit the "fast-batch" model that became widely used among universities.

ASSIST was enhanced and promoted by others, such as Northern Illinois University's Wilson Singletary & Ross Overbeek and University of Tennessee's Charles Hughes and Charles Pfleeger who reported in 1978 that ASSIST was being used in 200+ universities.

In the 1980s, NIU did a new implementation on IBM PCs, ASSIST/I (Interactive), used by computer scientist John Ehrman to teach a "boot camp" course in assembly programming at SHARE (computing) meetings, at least through 2011, but perhaps for several years after.

On March 1, 1998, Penn State declared that ASSIST was no longer copyrighted and that the program was freely available as per the last release notes.

The original ASSIST code seems to still get some use, as seen in 2017 demonstration video assembling its source and running it in MVS 3.8 emulation on a laptop. IBM System/360 and /370 computers used 24-bit addressing and ignored the high-order 8 bits. Assembly programmers of the era, including those who wrote ASSIST, often saved precious memory by using the high-order 8 bits for flags, which required a compatibility mode when IBM introduced 31-bit and then 64-bit addressing.