CASL U - 仮想計算機COMETU
 前へ 目次へ 次へ

仮想計算機COMETU

 記憶装置

 記憶装置とはメモリともいい、データやプログラムが格納される。COMETUでは、16ビットを記憶の単位(1語、1ワード)として、65536語記憶できる。記憶場所は番地(アドレス)で順序と位置が指定される。アドレスは0番地から始まり65535番地までである。
 1つの番地には、0から65535(負数は2の補数で表し、-32768から32767)までの数値が記憶できる。
 1語のビット構成は、下図のとおりである。

COMETUのビット構成
COMETUのビット構成


 制御装置

 制御方式は逐次(ちくじ)制御(1つずつ順に)であり、メモリ上のプログラム(命令語)はアドレスの順に実行される。命令語は1語長または2語長である。

 レジスタは制御装置の中にあり、データを一時的に記憶する場所である。このレジスタにメモリからデータを取り出して処理を行う。レジスタは、GR(16ビット)、SP(16ビット)、PR(16ビット)、FR(3ビット)の4種類がある。

GR(汎用(はんよう)レジスタ : General Register)
 GR0〜GR7の8個があり、算術、論理、比較、シフトなどの演算に使用する。
 このうち、GR1〜GR7のレジスタは、指標レジスタ(index register)としてアドレスの修飾にも使用する。
SP(スタックポインタ : Stack Pointer)
 スタックの最上段のアドレスを保持している。
 スタック操作命令(PUSH, POP)やコール、リターン命令(CALL, RET)で使用する。
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になる。

COMETUのレジスタ構成
COMETUのレジスタ構成


 命令

 COMETUに用意されている命令は次のとおりである。使い方などはあとで説明する。

(1)ロード,ストア,ロードアドレス命令
   LD(LoaD),  ST(STore),  LAD(Load ADdress)

(2)算術,論理演算命令
   ADDA(ADD Arithmetic, 算術加算),  ADDL(ADD Logical, 論理加算)
   SUBA(SUBtract Arithmetic, 算術減算),   SUBL(SUBtract Logical, 論理減算)
   AND(AND, 論理積),  OR(OR, 論理和),  XOR(eXclusive OR, 排他的論理和)

(3)比較演算命令
   CPA(ComPare Arithmetic, 算術比較),  CPL(ComPare Logical ,論理比較)

(4)シフト演算命令
   SLA(Shift Left Arithmetic, 算術左シフト),  SRA(Shift Right Arithmetic, 算術右シフト)
   SLL(Shift Left Logical, 論理左シフト),  SRL(Shift Right Logical, 論理右シフト)

(5)分岐命令
   JPL(Jump on PLus, 正分岐),  JMI(Jump on MInus, 負分岐)
   JNZ(Jump on Non Zero, 非零分岐),  JZE(Jump on ZEro, 零分岐)
   JOV(Jump on OVerflow, オーバフロー分岐)
   JUMP(unconditional JUMP, 無条件分岐)

(6)スタック操作命令
   PUSH(PUSH, プッシュ),  POP(POP, ポップ)

(7)コール,リターン命令
   CALL(CALL subroutine, コール),  RET(RETurn from subroutine, リターン)

(8)その他
   SVC(SuperVisor Call, スーパバイザコール),  NOP(No OPeration, ノーオペレーション)


 前へ 目次へ 次へ
 CASL U Copyright © 2003  Hiroshi Masuda

 

 

inserted by FC2 system