MOV命令について

いつもお世話になっております。

逆アセンブリした内容を確認しておりまして、

例えば mov     0xffef0, a の命令を実行した場合、0xffef0には Aレジスタの値が入るのでしょうか?

それとも、0xffef1にAレジスタの値が入って、0xffef0はそのまま(変化なし)となるのでしょうか?

ご教授いただきたく、宜しくお願いいたします。

【環境】

 マイコン  :RL78/G13(S2コア)

 開発環境  :e2studio ver 2022-04 (22.4.0)

 コンパイラ :GCC for Renesas RL78 ver 4.9.2.202201  最適化OFF

 プロジェクト:C++、C混在

  • チョコです。

    RL78の命令セットの「MOV !addr16,A」のことかと思いますが、「(addr16) ← A」となるので、0xff2f0にAレジスタの値が書き込まれます。

    RL78では8ビット/16ビットでの転送(MOV)が可能です。8ビット転送にソース・レジスタによりディスティネーションのアドレスの奇数偶数の制約はありません。

    ハードウェア マニュアルの「第28章 命令セットの概要」の「28.2 オペレーション一覧」の表28-5 オペレーション一覧(1/17)には以下のように記述されています。

    以上

  • チョコさま

    ご回答いただきありがとうございます。

    「(addr16) ← A」となるので、0xff2f0にAレジスタの値が書き込まれます。

    承知いたしました。