サブルーチンサブルーチンこの工夫のひとつにサブルーチンがある。単純な機械語命令を組み合わせてあたかも高度な1命令を実行したように見せる小プログラムをサブルーチンとよぶ。このルーチンはプログラム全体で共用されるので、プログラムの様々な場所から呼び出され利用される。そのためサブルーチン実行後、呼び出した元のプログラムに戻らねばならない。この呼び出し元のメモリー番地を一時記憶しておく場所をスタック(一時的に物を置く棚のこと)と呼び、メモリー中の特定場所が利用される。このスタック番地を指すレジスタをスタックポインターと呼ぶ。EDSACはこのスタックポインターを持つ最初のマシーンであった。これ以降のコンピュータはすべてスタックマシーンである。このスタックにはサブルーチンにあたえるデータおよびサブルーチンが呼び出し元プログラムに返す実行結果のデータを置く場所としても利用される。