IJPG( Indirect Jump Page )は間接ジャンプ命令と間接コール命令が実行時に飛び先のページ(上位8ビット)として使います。下位24ビットは命令が指定するインデックスレジスタに入っています。
IJPGは8ビット長です。IJPGは16ビットレジスタとデータをやり取りする場合右詰で転送し、上位は0フィル扱いになります。
図1 レジスタの構造
このレジスタの初期値は0です。このレジスタには構造はありません。
VisualDSP++3.0 for 21xxはIJPGに対するC/C++のAPIを用意していません(sysreg.h 1.7.4.1)。どうしても高級言語からアクセスしたい場合にはインライン・アセンブラを使ってください。
IJPGのレイテンシは以下のとおりです。
命令 | IJPG=value/reg; | |
---|---|---|
レイテンシ | 2 |
レイテンシが1のとき、直後の命令からその値を使うことができます。レイテンシが2以上のとき、直後の命令でその値を参照しようとすると、インターロック機構によって1サイクルのストールが発生します。なお、この表のレイテンシの数え方はHRとは異なっています。
項目 | マニュアルのページ等 |
---|---|
解説 | HR 3-16 |
レイテンシ | HR 3-6 |
間接ジャンプ命令 | ISR 8-45 |
間接コール命令 | ISR 8-42 |