CCODEは条件命令が利用する間接条件指定レジスタです。条件としてSWCONDおよびNOT SWCONDを指定すると、実行条件はCCODEに書いてある値で決定します。
CCODEは16ビット整数レジスタです。内部にビットフィールドはありません。
図1 レジスタの構造
CCODEは内部構造をもちません。
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 |
当サイト | 条件実行 |