アセンブラでは使用できるコードがインラインアセンブラでエラーになる
テクニカル・ノート 181213J
アーキテクチャ:
All
コンポーネント:
compiler
更新日:
2019/01/15 8:13
はじめに
このテクニカルノートでは、インラインアセンブラコードエラーとなる事例を説明します。
解説
アセンブラで良く使われる
ldr r0, =expression\n
はマクロ命令ですので、インラインアセンブラでは使用できません。
例えば、“ldr r0, =0x08002000\n”をインラインアセンブラに展開する場合は、以下のように直接書いてください。
asm(
"ldr.n r0,Txx\n"
"b.n next\n"
"Txx:\n"
"dc32 0x08002000\n"
"next:\n"
)
Txx, nextは任意の文字列です。
まとめ
インラインアセンブラコードでの注意点を説明しました。
全ての製品名は、それぞれの所有者の商標または登録商標です