2011-07-11 20 views
2

なし:ORRS R1、R3が行うARM v7ののORRSニーモニック何オペランド2

を?

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

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

フィードバックをいただければ幸いです。

-b。

答えて

3

Thumbです。 16ビットThumb命令コードでは、2つのオペランドにしか適合できません。余分なものは得られません。operand2

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

1

それはarmv7mのTRMまたは独自のTRMでかもしれないが、彼らは、私が

はR0を追加するので、統一された用語、アセンブリ言語を覚えていけないしている、R3

両方の腕のために組み立てますと、親指の場合は親指の場合と同じですが、上記の場合はr0、r0、r3を加算します。親指の場合、3つのレジスタオプションは得られませんが、機能は暗黙のうちにr0 = r0 + r3です。

3

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

orrs r1, r1, r3 
orrs r1, r3 

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

などとなる。

関連する問題