ASSIST(Assembler System for Student Instruction and Systems Teaching)は、IBM System/370互換のアセンブラおよびインタプリタであり、1970年代初頭にペンシルベニア州立大学でグラハム・キャンベルとジョン・マッシー[ 1 ] [ 2 ]が学生アシスタントと共に開発しました。
1960年代後半、コンピュータ科学教育は急速に拡大し、大学のコンピュータセンターは学生による利用の大幅な増加に直面した。学生のニーズは、バッチ処理環境で働く専門家のニーズとは必ずしも一致しなかった。学生たちは、パンチカードのデッキ上で短いプログラムを短時間(一晩ではなく数分)で実行する必要があり、プログラムには構文エラーが含まれることが多かった。コンパイル後もすぐにエラーが発生することが多かったため、最適化や柔軟性よりも、低オーバーヘッドの方がはるかに重要だった。
WATFIVは、学生向けに最適化されたFORTRANコンパイラを開発するという、先駆的な取り組みとして成功を収めました。大学では、専用の「高速バッチ」メモリパーティション上で、 IBM System/360 Model 67 ) のように実行時間を5秒に制限してWATFIVを実行していました。この制限値が低いことで、処理時間を短縮し、無限ループに陥るプログラムによる時間の浪費を防ぐことができました。WATFIVの成功は、ASSIST、PL/C、その他「高速バッチ」モデルに適合する学生向けプログラムの開発を促し、これらのプログラムは大学で広く利用されるようになりました。
ASSISTは、ノーザンイリノイ大学のウィルソン・シングレタリーとロス・オーバービーク[ 3 ]やテネシー大学のチャールズ・ヒューズとチャールズ・フリーガー[ 4 ]などによって強化され、普及が進められました。彼らは1978年に、ASSISTが200以上の大学で使用されていると報告しました[ 5 ] 。
1980年代、NIUはIBM PC上でASSIST/I(インタラクティブ)[ 6 ]という新しい実装を行い、コンピュータ科学者のジョン・アーマンがSHARE(コンピューティング)会議でアセンブリプログラミングの「ブートキャンプ」コースを教えるために使用しました。少なくとも2011年までは[ 7 ]、その後数年間は使用された可能性があります。
1998年3月1日、ペンシルベニア州立大学は、ASSISTの著作権が消滅し、最終リリースノートに従ってプログラムが無料で利用可能になったと宣言した。 [ 8 ]
オリジナルの ASSIST コードは、2017 年のデモ ビデオでソースをアセンブルしてラップトップ上のMVS 3.8 エミュレーションで実行しているのを見るとわかるように、今でもいくらか使われているようです。 [ 9 ] IBM System/360 および /370 コンピュータは24 ビットのアドレス指定を使用し、上位 8 ビットを無視していました。ASSIST を書いた人を含む当時のアセンブリ プログラマは、上位 8 ビットをフラグに使用することで貴重なメモリを節約することが多く、IBM が31 ビット、そして64 ビットのアドレス指定を導入したときには互換モードが必要になりました。