Renesas Synergy™

FAQ 103915 : 除数を"0"にして除算を行った場合、どのような結果になるのか?

M16Cファミリには、除数が"0"の場合の除算を検出する機能はありません。各シリーズのソフトウェアマニュアルに記載しているとおり、除数が"0"のときはFLGレジスタのオーバフローフラグ(Oフラグ)が"1"になります(演算結果は不定です)。
除数が"0"の除算は、オーバフロー割り込みで除数を確認することにより検出可能です。オーバフロー割り込みの飛び先格納番地は固定ベクタテーブルに配置 されており、INTO命令を実行することで割り込みを発生させることができます。INTO命令はノンマスカブル割り込みです。

(例)
  :
 DIV.B R1L
 INTO
  :

DIV.B命令実行後、Oフラグが"1"の場合は、INTO命令でオーバフロー割り込みが発生します。Oフラグが"0"の場合は、割り込みは発生せず、次の命令を実行します。

適用製品

M32C/8A
M32C/88 (M32C/88T)
M32C/87 (M32C/87, M32C/87A, M32C/87B)
M32C/85 (M32C/85, M32C/85T)
M32C/84 (M32C/84, M32C/84T)
M32C/83 (M32C/83, M32C/83T)
M32C/80
M16C/62A
M16C/62A(M16C/62T)
M16C/62M
M16C/62N
M16C/62N(M3062GF8NFP, M3062GF8NGP)
M16C/62P (M16C/62P, M16C/62PT)
M16C/63
M16C/64A
M16C/64C
M16C/65
M16C/65C
M16C/6C
M16C/6N4, M16C/6N5
M16C/6NK, M16C/6NL, M16C/6NM, M16C/6NN
M16C/5L, M16C/56
M16C/5LD, M16C/56D
M16C/5M, M16C/57
M16C/30P
M16C/28 (M16C/28, M16C/28B)
M16C/26A (M16C/26A, M16C/26B, M16C/26T)
M16C/1N
他にご質問がございましたら、リクエストを送信してください