. |

### fm_vrf_ex（ORG 0110H）
フラッシュメモリとのベリファイ

#### 引数

ベリファイを開始するフラッシュメモリの上位アドレス：fmadd_h（RAMバンク1　07EH）
ベリファイを開始するフラッシュメモリの下位アドレス：fmadd_l（RAMバンク1　07FH）
ベリファイを行うフラッシュメモリのバンクアドレス　：fmbank（RAMバンク1　07DH）
ベリファイ用データ（128バイト）：RAMバンク1　080H〜0FFH

#### 戻り値

ベリファイ結果がACCにセットされます。相違がない場合は00Hが、相違があった場合または異常終了した場合は00H以外がセットされます。

#### 破壊レジスタ

このサブルーチンを呼び出すと、次のレジスタの内容が破壊されます。

ACC，TRL，TRH，r0

#### 機能

フラッシュメモリにデータを書き込んだ後、書き込まれたデータが正しいかどうかをチェックします。fm_wrt_exを用いてフラッシュメモリにデータを書き込んだ後に使用します。

#### 説明

このサブルーチンは、fm_wrt_exをCALLするときに指定した128バイトの書き込み用データと、実際にフラッシュメモリに書き込まれたデータとの比較を行います。

フラッシュメモリをベリファイするときには、以下の点に注意してください。

- サブルーチンをCALLする直前で、全ての割り込みを禁止してください。
- サブルーチンをCALLする前に、間接アドレスレジスタのバンクをbank0に設定してください。
- STADが00Hに設定されている状態でCALLしてください。STADが00H以外に設定されている場合、画面の一部が書き変わります。
- システムクロックを1/12分周のRC発振に切り換えてください。
- サブルーチン動作中は、ローバッテリー検出を禁止してください。

そのため、実際にこのサブルーチンを呼び出すときは、fm_wrt_exサブルーチンを呼び出した直後に行う必要があります。

このサブルーチンを呼び出す場合は、先に呼び出したfm_wrt_exと同じ引数を設定する必要があります。fm_wrt_exと異なる引数を設定した場合は、データのベリファイが正しく行われません。

このルーチンを呼び出した後、128バイトすべてのデータの整合性が確認できた場合は、戻り値としてACCに‘00H’がセットされます。相違があった場合は、‘00H’以外の値がセットされます。

fm_vrf_ex実行時の動作は次のとおりです。

▽ fm_vrf_ex実行時の動作(図95)

[←] | [INDEX] | [→]