Renesas Synergy™

FAQ 104049 : ノーマルモードでコンパイルしているが、「MOV.B R0L,@ER6」のように32ビットアドレスでコード生成されます。

回答

ノーマルモードまたはアドバンストモードに関わらず、アドレス参照の為のレジスタは32ビットで行います。
またR0でも構いません。
アドバンストの場合 は、アドレス空間が16MまでありえるのでER0の24ビット分を使用しています。
ノーマルの場合はER0と出ていますが、上位(拡張)側のレジスタは使 用しておりません。
よって、上位(拡張)側に0が入っていてもH'FFFFが入っていても関係ないため動作に影響はありません。
また、オブジェクト性能に も影響しません。

適用製品

H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください