## 第7章　警告メッセージ

アプリケーションの実行時に表示される警告メッセージについて説明します。

#### スタックガード> スタックがオーバーフローしました。

環境パネルで、Stack Guard機能を有効にした場合、スタックポインタが範囲外になると表示されます。

#### SFR> SFRに不正な書き込み（読み出し）が行われました。

特殊機能レジスタに対し不正なアクセスした場合に表示されます。

不正なアクセスとは、ユーザーに許可されていない方法で特殊機能レジスタをアクセスした場合です。たとえば、ビットアクセスは許可されているがバイトアクセスは許可されていないようなケースや、読み出しは許可されているが、書き込みは許可されていないようなケースで表示されます。

#### TRR> 不正なアドレスをアクセスしました。

LDC命令を実行したときに参照されるアドレスが、アプリケーションの読み込みアドレス範囲を越えている場合に表示されます。

#### XRAM> サブクロックモードではXRAMに書き込みができません。

水晶発振で動作中は、XRAMへの書き込みができません。XRAMへの書き込み中はRC発振で動作するようにプログラムを修正してください。なお、シミュレータレベルでは書き込みを行いますが、水晶発振で動作中にXRAMに書き込みを行った場合表示されます。

#### XRAM> 不正なXRAM領域に書き込みが行われました。

XRAMの実装されていないメモリ領域をアクセスした場合に表示されます。XRAM空間は180Hから1FFHまでですが、そのすべてにメモリが実装されているわけではありません。アドレス下位4ビットが0CHから0FHまでが未実装領域です。

ただし、XRAMバンク2に実装されているメモリは、180H〜185Hまでです。

#### LCD> 不正なXRAMバンクをアクセスしました。

XRAMのバンク指定はXBNKレジスタで行います。バンク番号は2ビットのバイナリで指定しますが、本来存在しないバンク3の値を書き込むことができます。この場合シミュレートはバンク0に切り替えて、このメッセージを表示します。

#### LCD> 不正なSTADの値が指定されました。

液晶の表示アドレス開始レジスタで、設定不可になっている値を書き込んだときに表示されます。

#### SIO#0>警告 PORT#1が動作可能状態ではありません。SIO#1>警告 PORT#1が動作可能状態ではありません。

SIOはポート1を介して入出力を行います。ポート1の各ビットがSIOを使用するように設定されていないときに表示されます。

#### SIO> SIO制御レジスタの値が一致していません。

SIO通信を行おうとしているビジュアルメモリシミュレータ同士において、それぞれの制御レジスタ（SCON0，SCON1）の設定がことなり、SIO通信のシミュレーションが行えない場合に表示されます。

それぞれの転送ビット長やLSB/MSB先頭選択などを合わせるようにプログラムを修正してください。

[←] | [INDEX]