私はARMアーキテクチャの初心者です。アセンブラ(ARM arch)にプログラムがあり、プログラム内のすべての文字列の意味を理解する必要があります。どういう意味ですか?それについての情報が見つかりません。お願い助けて。ありがとう。
@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
fstmfdd>sp!, {d8, d9}
bl<>__aeabi_l2d
it eq
fmdrr<->d6, r0, r1
fdivd<->d7, d8, d6
faddd<->d9, d9, d7
flds<-->s11, [sp, #4]<->@ int
.word<->0
FMDRR
2つのARM1136レジスタからVFP11(頂点浮動小数点)倍精度レジスタにデータを転送します。この場合、レジスタr0とr1からビットを転送してdouble
、VFP11レジスタd6に倍精度(変数)値を形成します。
FDIV
は浮動小数点除算です。double型の2つの値を除算しているため、最後の「D」は「double」精度フラグです。この場合d7 = d8 / d6
FADD
前のコマンドと同様に、浮動小数点の追加です。この場合d9 = d9 + d7
FLD
は浮動小数点負荷です。単一のCPUワードの長さで値を渡すため、末尾の「S」は「単精度」精度フラグです。[sp、#4]は、spの4ワード後に格納されているデータをロードしていることを意味します(たとえば、レジスタspが100ワードの場合、104ワードを取得します)。@intは変換フラグです。この場合s11 = [sp+4]
詳細については、ARMインフォメーションセンターを確認してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加