• 検索結果がありません。

1. CPU 機能

1.7 ベクタテーブル

ベクタテーブルには、固定ベクタテーブルと可変ベクタテーブルがあります。ベクタテーブルは、1 ベク タあたり 4 バイトで構成されており、各ベクタには対応する例外処理ルーチンの先頭アドレスを設定しま す。

1.7.1 固定ベクタテーブル

固定ベクタテーブルは、テーブルの配置アドレスが固定されたベクタテーブルです。FFFFFF80h 〜

FFFFFFFFh 番地に、特権命令例外、アクセス例外、未定義命令例外、浮動小数点例外

(注1)

、ノンマスカブ

ル割り込み、リセットの各ベクタを配置しています。図 1.8 に固定ベクタテーブルを示します。

注1. RX100シリーズ、RX200シリーズは、浮動小数点演算命令に対応していないため、浮動小数点例外は発生し

ません。

図 1.8 固定ベクタテーブル

(予約領域)

(予約領域)

FFFFFFDCh

FFFFFFFCh FFFFFFE 0h FFFFFFE 4h FFFFFFE 8h FFFFFFECh F F FF F F F0 h F F FF F F F4 h F F FF F F F8 h

アクセス例外 特権命令例外

(予約領域)

未定義命令例外

(予約領域)

浮動小数点例外(注1

(予約領域)

(予約領域)

(予約領域)

LSB

(予約領域)

ノンマスカブル割り込み リセット FFFFFFD0h

FFFFFFD4h FFFFFFD8h

MSB

FFFFFFCCh F F F F F F8 0 h

注1. RX100シリーズ、RX200シリーズは、浮動小数点演算命令に対応していないため、浮動小数点例外は発生しません。

1.7.2 可変ベクタテーブル

可変ベクタテーブルは、テーブルの配置アドレスを変えることができるベクタテーブルです。割り込み テーブルレジスタ(INTB)の内容で示された値を先頭アドレス(IntBase)とする 1,024 バイトの領域に、無 条件トラップ、割り込みの各ベクタを配置しています。図 1.9 に可変ベクタテーブルを示します。

可変ベクタテーブルには、ベクタごとに番号(0 〜 255)が付けられています。無条件トラップ発生要因 の INT 命令では INT 命令番号(0 〜 255)に対応したベクタが、BRK 命令では番号 0 のベクタが割り当てら れています。また、割り込み要因では、製品ごとに決められた番号(0 〜 255)が割り当てられています。

図 1.9 可変ベクタテーブル

INTB

IntBase+4 0 IntBase

b31 b0

IntBase+8

255 IntBase+1020

割り込みベクタが 割り当てられる順序 1

2

1.8 アドレス空間

RX CPU のアドレス空間は、00000000h 番地から FFFFFFFFh 番地までの 4G バイトあります。プログラム

領域およびデータ領域合計最大 4G バイトをリニアにアクセス可能です。RX CPU のアドレス空間を図 1.10 に示します。各領域は、各製品、動作モードによって異なります。詳細は、各製品のハードウェアマニュア ルを参照してください。

図 1.10 アドレス空間

00000000h

FFFFFFFFh

データ領域  プログラム領域 (4Gバイトリニア)

2. アドレッシングモード

アドレッシングモードごとに、アドレッシングモードを示す記号、動作について説明します。

アドレッシングモードは、以下に示す 10 種類があります。

即値

レジスタ直接

レジスタ間接

レジスタ相対

ポストインクリメントレジスタ間接

プリデクリメントレジスタ間接

インデックス付きレジスタ間接

制御レジスタ直接

PSW 直接

プログラムカウンタ相対

2.1 本章の見方

本章の見方を以下に実例をあげて示します。

(1) 名称

アドレッシングモードの名称です。

(2) 記号

アドレッシングモードを示す記号です。

“:8”、“:16” は、直前の値の有効ビット数を示します。マニュアルの記載上、有効ビット数を明記する必要

があるために付加していますが、プログラムを記述するときは、付加する必要はありません。

(3) 解説

動作、実効アドレスの範囲を説明します。

(4) 動作図

動作を図で説明します。

レジスタ相対 dsp:5[Rn]

(Rn=

R0~R7) dsp:8[Rn]

(Rn=

R0~R15) dsp:16[Rn]

(Rn=

R0~R15)

ディスプレースメント(dsp)の値を32ビット にゼロ拡張した後、規則に従い(右図参照)、

1/2/4倍した値と、レジスタ値を加算した結果

の下位32ビットが演算対象の実効アドレスと

なります。実効アドレスの範囲は、00000000h

〜FFFFFFFFh です。dsp:n は、nビット長の ディスプレースメントを表します。

dsp:5[Rn] (Rn=R0~R7)、

dsp:8[Rn] (Rn=R0~R15)、

dsp:16[Rn] (Rn=R0~R15) が指定できます。

dsp:5[Rn] (Rn=R0~R7)は、MOV、MOVU命令 でのみ使用されます。

address レジスタ Rn

メモリ

address

dsp ×

・サイズ指定子をとる命令

.Bのとき :1倍

.Wのとき :2倍

.Lのとき :4倍

・サイズ拡張指定子をとる命令 .B/.UBのとき :1倍 .W/.UWのとき :2倍

.Lのとき :4倍

アドレス

増加方向

(1)

(2)

(3)

(4)

関連したドキュメント