Renesas Synergy™

FAQ 1011894 : アセンブラでのSFRにアクセスする命令の記号(CC-RL)

Q : 質問

RL78コンパイラCC-RLを使用しています。開発をアセンブリ言語で行っています。WEBに公開されているサンプルプログラムでは、「MOV !SFRレジスタ,値」の記述と「MOV SFRレジスタ.値」があります。「!SFRレジスタ」と「SFRレジスタ」では、どのように処理が変わるのでしょうか?


A : 回答

RL78ファミリのSFRには、FFF00H-FFFFFHの領域にある「特殊機能レジスタ」とF0000H-F07FFHの領域にある「拡張特殊機能レジスタ」の2つが存在します。

「特殊機能レジスタ」をアクセスする場合は「!」なしで、「拡張特殊機能レジスタ」をアクセスする場合は「!」付きでSFR名を記述します。

また、使用できる命令は、「特殊機能レジスタ」の場合には「sfr」、「sfrp」を使用できる命令、「拡張特殊機能レジスタ」の場合には「!addr16」を使用できる命令と違いがありますので、ご注意ください。

アクセス対象となるSFRが、どちらの特殊機能レジスタかをご確認の上、プログラムを記述してください。

適用製品

CS+ (旧 CubeSuite+)
RL78ファミリ用Cコンパイラパッケージ
e² studio
他にご質問がございましたら、リクエストを送信してください