CCODE

CCODEは条件命令が利用する間接条件指定レジスタです。条件としてSWCONDおよびNOT SWCONDを指定すると、実行条件はCCODEに書いてある値で決定します。

レジスタの構造

CCODEは16ビット整数レジスタです。内部にビットフィールドはありません。

図1 レジスタの構造

CCODEは内部構造をもちません。

API

VisualDSP++ 3.0 for 21xxにはCCODE用のAPIは用意されていません。CCODEは高級言語からいじる必要はありませんし、このレジスタはコンパイラが利用するので触るべきでもありません。

CCODEを利用する場合はアセンブリプログラムから利用してください。アセンブリプログラムで使う定数はdef219x.hで定義されています。以下に引用します。それぞれの定数の意味については条件実行を参照してください。

#define cond_PF0        0x00           // if PF0 pin high, SWCOND true
#define cond_PF1        0x01           // if PF1 pin high, SWCOND true
#define cond_PF2        0x02           // if PF2 pin high, SWCOND true
#define cond_PF3        0x03           // if PF3 pin high, SWCOND true
#define cond_PF4        0x04           // if PF4 pin high, SWCOND true
#define cond_PF5        0x05           // if PF5 pin high, SWCOND true
#define cond_PF6        0x06           // if PF6 pin high, SWCOND true
#define cond_PF7        0x07           // if PF7 pin high, SWCOND true
#define cond_AS         0x08           // if AS, SWCOND true
#define cond_SV         0x09           // if SV, SWCOND true
#define cond_PF8        0x0A           // if PF8 pin high, SWCOND true
#define cond_PF9        0x0B           // if PF9 pin high, SWCOND true
#define cond_PF10       0x0C           // if PF10 pin high, SWCOND true
#define cond_PF11       0x0D           // if PF11 pin high, SWCOND true
#define cond_PF12       0x0E           // if PF12 pin high, SWCOND true
#define cond_PF13       0x0F           // if PF13 pin high, SWCOND true

レイテンシ

CCODEのレイテンシは以下のとおりです。

命令 CCODE=value;
レイテンシ 2

レイテンシが1のとき、直後の命令からその値を使うことができます。レイテンシが2以上のとき、直後の命令でその値を参照しようとすると、古い値を参照します。なお、この表のレイテンシの数え方はHRとは異なっています。

このレジスタにはインターロック機構はついていません。

参照情報

項目 マニュアルのページ等
値と条件 HR A-20
レイテンシ HR 3-6
当サイト 条件実行
2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |