6. 2.9bsdの実行環境 – 使ってみる
$ cat README
- How to start simh with this system in ubuntu.
pdp11 bsd.ini
- How to boot.
rl(0,0)rlunix
- How to change multiuser
^d
login: root
- How to quit shimh
# sync; sync; sync;
^e
sim> q
11. 各ビットの内容
14,15 current mode (00 = kernel;)
12,13 previous mode (11 = user;)
5,6,7 processor priority (range 0..7)
4 trap bit
3 N, set if the previous result was negative
2 Z, set if the previous result was zero
1 V, set if the previous result gave an overflow
0 C, set if the previous operation gave a carry
12. 実はCPUはみな同じ
人気のある別のCPUの例
11 OF オーバーフローフラグ.符号付演算で桁あふれが発生した場合にセットされる.
10 DF ディレクションフラグ.ストリング操作命令においてポインタの増減方向を示す.
09 IF インタラプト・イネーブルフラグ.このフラグをクリアすると外部割込みを受け付
けなくなる.
08 TF トラップフラグ.デバッガなどでシングルステップ実行するときにセットするフラ
グ.
07 SF サインフラグ.演算結果の符合をあらわす.演算結果が負になった場合にセットさ
れ,正になった場合にクリアされる.
06 ZF ゼロフラグ.演算結果がゼロの場合にセットされる.
04 AF 補助キャリーフラグ.BCD演算で使われるキャリーフラグ(詳細については別途
調べてね).
02 PF パリティフラグ. 演算結果の各ビットについて,1となるビットが偶数のときは
セットされ,奇数のときはクリアされる. つまり,演算結果の各ビットの1の数とPF
を足すと必ず奇数になるようになっている. パリティチェックの常套手段.
01 CF キャリーフラグ.演算の結果,桁上がりが生じた場合にセットされる.
13. レジスタ
r0, r1 are used as temporary accumulators during expression
evaluation, to return results from a procedure, and in some cases
to communicate actual parameters during a procedure call;
r2, r3, r4 are used for local variables during procedure execution.
Their values are almost always stored upon procedure entry, and
restored upon procedureexit;
r5 Is used as the head pointer to a ``dynamic chain„‟ of procedure
activation records stored in the current stack. It is referred to as the
``environment pointer''.
r6 (also known as ``sp'') is used as StackPointer
r7 (also known as ``pc'') is used asthe program instruction address
register.