いよいよ各論に入ります。
PDP-11の裏の顔と言っても、怪しいものではありません。一目で見ることができない顔ということです。表の顔をオペレータ・コンソールとすると、裏の顔は、PDP−11の最上層の構造とでもいうことでしでしょうか。PDPー11の構造の特徴をよくまとめた図がありました。木村泉先生が東京工業大学のプログラミングの講義に使ったOHP(Power pointがない時代のプレゼン手段)です。とても簡潔に纏まっているので拝借させていただきます。木村先生は、1980年代に共立出版のbitという雑誌に寄稿していて、Balcon も毎月楽しみに愛読していました。残念ながら、お弟子さん達編集の追悼文集からの引用になります。木村先生のOHPに若干の改変をさせてもらいました。
PDPの記憶領域は、八個の16ビットのレジスタと1語16ビット幅の32k語のメモリ領域からできています。アドレスは、byte(8ビット)ごとについているので、64kbytesのメモリ空間があるわけですが、高位から4k語(8kbytes)は、周辺機器とのインターフェースに予約されているので、実際は28k語が使用可能なメモリとなります。また0番地から776(8進)までは、割り込みや、スタックに使われるので、実際には、ユーザは1000番地(8進)から、157776(8進)までが、ブログラムとデータを収容することになります。(OHP の緑の部分)
DECのマシンは8進法がデフォールトなので、これからは、断りなく数字が出てきた場合は8進法表記と考えてください。
各レジスタ r0からr5は、自由に使うことができますが、r6、r7は、それぞれ、現在のスタックトップを指すスタックポインタ(SP)と、次に実行する命令のアドレスを指すプログラムカウンタ(PC)として使うため、偶数のデータしか書き込むことしかできません。
各種フラグを収容するプロセッサステータスワード(PSW)には、下位4bitに各種フラグが入ります。これ以外ビットは、実行モードや、プライオリティなのデータが入りますが、これらは、Bare Metalで使うのには関係ないので、説明は割愛します。
それぞれ、レジスタのアドレスは、PDP-11/70では、アドレスが22ビットに拡張されているため、他のPDP-11シリーズと異なるので注意が必要です。(私はこれにハマりました。)
次回は、PDP-11/70の表の顔、オペレータコンソールについて、記載していきます。(表の顔-コンソールへつづく)
※コメント投稿者のブログIDはブログ作成者のみに通知されます