なし:ORRS R1、R3が行うARM v7ののORRSニーモニック何オペランド2
を?
ただR1 | = R3ですか、おそらくNフラグまたはZフラグを設定していますか?
これは明らかに明白かもしれませんが、ORBニーモニックについては、オペランド2を除いて説明しているドキュメントは見つかりませんでした。
フィードバックをいただければ幸いです。
-b。
なし:ORRS R1、R3が行うARM v7ののORRSニーモニック何オペランド2
を?
ただR1 | = R3ですか、おそらくNフラグまたはZフラグを設定していますか?
これは明らかに明白かもしれませんが、ORBニーモニックについては、オペランド2を除いて説明しているドキュメントは見つかりませんでした。
フィードバックをいただければ幸いです。
-b。
Thumbです。 16ビットThumb命令コードでは、2つのオペランドにしか適合できません。余分なものは得られません。operand2
あなたが推測したように、それはR1 |= R3
です。 S
フラグの存在は、この命令がIf-Thenブロックの一部であることを示します(適切なARMの条件付き実行の代わりにThumbが持つもの)。 ORR
およびORRS
は、同じオペコードを生成し、コンテキストによってのみ異なります。
それはarmv7mのTRMまたは独自のTRMでかもしれないが、彼らは、私が
はR0を追加するので、統一された用語、アセンブリ言語を覚えていけないしている、R3
両方の腕のために組み立てますと、親指の場合は親指の場合と同じですが、上記の場合はr0、r0、r3を加算します。親指の場合、3つのレジスタオプションは得られませんが、機能は暗黙のうちにr0 = r0 + r3です。
ARMアセンブリでは、デスティネーションレジスタ(Rd)がソースレジスタ(Rn)と同じ命令はRdを省略できます。したがって、これらは同じで、まったく同じ命令に組み立てられます。
orrs r1, r1, r3
orrs r1, r3
add r1, r1, #5
add r1, #5
などとなる。