C および C++ コードのインラインアセンブラのレジスタリストのオペランド

レジスタリストには最大 16 個のオペランドを列挙できます。列挙できるのは、仮想レジスタまたは式のレジスタオペランドです。

レジスタリスト内で仮想レジスタと式オペランドを指定する順番は重要です。レジスタリストのオペランドの読み出しと書き込みは、左から右に行われます。最初のオペランドは最下位アドレスを使用し、後続のオペランドは前のアドレスを 4 ずつインクリメントして得られるアドレスを使します。LDM 命令または STM 命令の通常の演算では、最も番号が小さい物理レジスタが最下位アドレスに常に保存されますが、それとは逆の新しい動作です。この動作の違いは、レジスタの仮想化によるものです。

式オペランドや仮想レジスタは、レジスタリストに複数回列挙できます。それらは指定されているごとに使用されます。

ベースレジスタの更新は、指定した場合に行われます。更新によって、ベースレジスタにロードされている値はメモリロードのときに上書きされます。

レジスタリストの後に ^ を指定してユーザモードのレジスタを特権モードで動作させることは、インラインアセンブラではサポートされていません。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711