アセンブラでは使用できるコードがインラインアセンブラでエラーになる

テクニカル・ノート 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は任意の文字列です。

 

まとめ

インラインアセンブラコードでの注意点を説明しました。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。