Renesas Synergy™

FAQ 1006615 : 78K0R/Kx3では10進補正命令がないが、10進補正はできないのか。

いいえ、できます。
10進補正は、上記の計算例でも分かるように、演算結果(4ビットごとの桁上げや値)によって補正値を加算(減算)することで処理されます。つまり、演算結果に応じて、補正する値を発生できれば、その発生した値を加算(減算)すれば同じ結果がえられます。
このように、わざわざ命令として10進補正命令がなくても同じことができることから、78K0Rでは命令セットから10進補正命令を削除しています。

コーヒーブレーク
10進の計算方法にはいくつかの方法があります。命令として、10進加算命令や10進減算命令をもつ考え方もありますし、補正で済ませる考え方もあります。殆んどの場合に10補正が用いられています。
初期のマイコンの8080では10進補正命令でも加算でしか使えませんでした。この場合、10進の減算を行うにはかなりの処理が必要でした。その点を改良したマイコンでは、加算したか/減算したかのフラグを準備し、1つの補正命令で加算と減算に対応できるようにしたものがありました。後者の方が使い易いのは明らかですが、市場では前者が使用されていたために、コンパチビリティの関係で後者はなかなか受け入れられませんでした。その後、Z80が出て、後者の方式が一般的になりました。このフラグを追加する方法は従来とのソフトの継承性から出てきたものです。継承性を考えなければ、現在の78K0のような加算用の補正命令と減算用の補正命令の方がフラグを必要としないだけ構成は簡単です。

適用製品

RL78 ファミリ
78K0R/Kx3
他にご質問がございましたら、リクエストを送信してください