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

Technical Note 181213J

Targets:
All

Component:
Compiler

Updated:
1/15/2019 7:50 AM

はじめに

このテクニカルノートでは、インラインアセンブラコードエラーとなる事例を説明します。

解説

アセンブラで良く使われる

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は任意の文字列です。

 

まとめ

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

 

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

© IAR Systems 1995-2018 - All rights reserved.

We use cookies on this website to provide you with a better experience. You need to accept cookies to continue using this site. Cookies