Renesas Synergy™

FAQ 3000039 : インラインアセンブラ関数の引数名の使用(CC-RL)

Q : 質問

RL78コンパイラCC-RLを使用しています。
#pragma inline_asmで定義したインラインアセンブラ関数で、引数に指定した変数名をアセンブラ内で使用できますか?


A : 回答

変数名を使用することはできません。
#pragma inline_asmで定義したインラインアセンブラ関数の引数は、CC-RLのユーザーズマニュアルの「実引数の受け渡し」の規則の通り、呼び出す関数から引き渡されます。
引数に記述した名前は使用できませんが、上記の規則での受け渡しのレジスタやスタックの値を使用するようにして下さい。

(例)
#pragma inline_asm asmfunction
void asmfunction(unsigned char Data)

上記の例のプログラムの場合には、引数がunsigned char型が1つですので、汎用レジスタのAレジスタに値が格納されます。このAレジスタの値を使用して、アセンブラでプログラムを作成してください。

適用製品

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