2

とは:

ORRS R1、R3は?

R1 |= R3 だけで、おそらく N または Z フラグを設定していますか?

これは露骨に明らかかもしれませんが、オペランド 2なしで ORR ニーモニックを説明しているドキュメントは見つかりませんでした。

フィードバックをお待ちしております。

-b.

4

3 に答える 3

3

Thumb命令です。16 ビットの Thumb オペコードでは、2 つのオペランドしか適合できず、余分なoperand2.

ご想像のとおり、そうR1 |= R3です。Sフラグの存在は、この命令が If-Then ブロック (適切な ARM 条件付き実行の代わりに Thumb が持っているもの) の一部であることを示します。同じオペコードORRを生成し、コンテキストのみが異なります。ORRS

于 2011-07-11T20:19:20.750 に答える
3

ARM アセンブリでは、デスティネーション レジスタ (Rd) がソース レジスタ (Rn) と同じである命令では、Rd を省略できます。したがって、これらは同じであり、まったく同じ命令にアセンブルされます。

orrs r1, r1, r3
orrs r1, r3

add r1, r1, #5
add r1, #5

等々。

于 2011-07-12T01:25:06.017 に答える
1

それはarmv7mtrmまたはそれ自身のtrmにあるかもしれません、しかしそれらは持っています、私は統一された、アセンブリ言語という用語を覚えていません、それで

r0、r3を追加

腕と親指の両方で組み立てられます。親指の場合は、腕の場合と同じように、上記はr0、r0、r3を追加することになります。親指の場合、3レジスタオプションは取得できませんが、機能はr0 = r0+r3を意味します。

于 2011-07-11T20:38:46.480 に答える