Developer(s) | Pennsylvania State University |
---|---|
Initial release | August 1, 1972 |
Stable release | 4.0/A2
/ December 2005 |
Written in | IBM assembler language |
Operating system | System/370 |
Platform | System/370 |
Type | Compiler |
License | Public domain |
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[1][2] 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[3] and University of Tennessee's Charles Hughes and Charles Pfleeger[4] who reported in 1978 that ASSIST was being used in 200+ universities.[5]
In the 1980s, NIU did a new implementation on IBM PCs, ASSIST/I (Interactive),[6] used by computer scientist John Ehrman to teach a "boot camp" course in assembly programming at SHARE (computing) meetings, at least through 2011,[7] 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.[8]
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.[9] 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.
References
[edit]- ^ Mashey, J.R.; Campbell, G.M.; Forney,Jr., C. (1972-08-01). "Assist: a self modifiable assembler for instructional purposes". ACM '72 Proceedings ACM Annual Conference. 1: 310–312. doi:10.1145/800193.569933. S2CID 15006572.
- ^ Mashey, J.R. (1973-02-01). "ASSIST: Three year's experience with a student-oriented assembler". SIGCSE '73 Proceedings of the Third SIGCSE Technical Symposium in Computer Science Education. 5 (1): 157–165. doi:10.1145/800010.808101. S2CID 45453765.
- ^ Singletary, Wilson.E.; Overbeek, R.A. (1976-05-01). Assembler Language with ASSIST. McGraw-Hill. ISBN 978-0574210852.
- ^ Hughes, Charles E.=; Pfleeger, Charles P. (1976-02-01). "ASSIST-V: A tool for studying the implementation of operating systems". ACM SIGCSE Bulletin Proc. SIGCSE-SIGCUE Joint Symposium on Computer Science Education. 8 (1): 167–173. doi:10.1145/800107.803468. S2CID 17406616.,
- ^ Hughes, Charles E.=; Pfleeger, Charles P. (1978-12-01). "ASSIST-V: An Environment Simulator for IBM 360 Systems Software Development". IEEE Transactions on Software Engineering. SE-4 (6): 526–530. doi:10.1109/TSE.1978.234139. S2CID 43375931.
- ^ Overbeek, R.A.; Singletary, Wilson.E. (1986). Assembler Language with ASSIST and ASSIST/I. Science Research Associates. ISBN 978-0023900051.
- ^ "SHARE in Orlando: Assembler Language "Boot Camp", Part 1 of 5". share.confex.com.
- ^ "ASSIST SYSTEM DISTRIBUTION WRITEUP". kcats.org. December 1975. Archived from the original on 31 March 2022.
- ^ moshix (2017-09-04). "MVS 3.8 or z/OS - Installing and using the Assist Assembler - M17". YouTube. Archived from the original on 2021-12-12.