C および C++ コードのインラインアセンブラのレジスタの制限

r0-r3splr などのレジスタ、および CPSR の NZCV フラグを使用する場合は、注意が必要です。C または C++ の式を使用する場合、これらのレジスタが一時的なレジスタとして使用され、式を評価するときにコンパイラによって NZCV フラグが壊される場合があります。

物理レジスタに直接アクセスできないため、インラインアセンブリコードを使用して、レジスタ pclr、および sp を明示的に読み出したり変更したりすることはできません。ただし、__current_pc__current_sp、および __return_address のコンパイラ組み込み関数を使用してこれらのレジスタを読み出すことができます。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0472BJ
Non-ConfidentialID011811