試験センターから発表されているCASL仕様をブログに入れました。入力ミスがあるかも知れませんので,使用にあたっては,試験センターからの資料を確認して下さい。これは一部です。
全文→ CASL仕様(2005年春版)@末広ページ
1.1 ハードウェアの仕様
(1) 1 語は16 ビットで,そのビット構成は,次のとおりである。
上位8ビット | 下位8ビット | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
↑符号(負:1,非負:0) |
斎藤注:上の表の中の 15〜0 は,ビット番号というコメントがついています。
(2) 主記憶の容量は 65536 語で,そのアドレスは 0 〜 65535 番地である。
(3) 数値は,16 ビットの 2 進数で表現する。負数は,2 の補数で表現する。
(4) 制御方式は逐次制御で,命令語は 1 語長又は 2 語長である。
(5) レジスタとして,GR(16 ビット),SP(16 ビット),PR(16 ビット),FR(3 ビット)の 4 種類がある。
GR(汎用レジスタ,General Register)は,GR0 〜 GR7 の 8 個があり,算術,論理,比較,シフトなどの演算に用いる。このうち,GR1 〜 GR7 のレジスタは,指標レジスタ(index register)としてアドレスの修飾にも用いる。
SP(スタックポインタ,Stack Pointer)は,スタックの最上段のアドレスを保持している。
PR(プログラムレジスタ,Program Register)は,次に実行すべき命令語の先頭アドレスを保持している。
FR(フラグレジスタ,Flag Register)は,OF(Overflow Flag),SF(Sign Flag),ZF(Zero Flag)と呼ぶ 3 個のビットからなり,演算命令などの実行によって次の値が設定される。これらの値は,条件付き分岐命令で参照される。
OF | 算術演算命令の場合は,演算結果が−32768 〜 32767 に収まらなくなったとき1 になり,それ以外のとき 0 になる。論理演算命令の場合は,演算結果が 0 〜 65535 に収まらなくなったとき 1 になり,それ以外のとき 0 になる。 |
SF | 演算結果の符号が負(ビット番号 15 が 1)のとき 1,それ以外のとき 0 になる。 |
ZF | 演算結果が零(全部のビットが 0 )のとき 1,それ以外のとき 0 になる。 |
(6) 論理加算又は論理減算は,被演算データを符号のない数値とみなして,加算又は減算する。