2017-02-04 5 views
0

私はこのARMアセンブリラインがないんかを把握しようとしています:このRSB命令は何をしますか?

RSB r1, r2, r3, LSL #1 

私は、Keil社のページからRSBの説明を参照していますが、この例では、非常にフィットしません:http://www.keil.com/support/man/docs/armasm/armasm_dom1361289891932.htm 私はすべてのヘルプをいただければ幸いです。

+0

問題は何ですか? – fuz

+0

多くの引数をとっているので、この例は一致しません – Bremen

答えて

2

RSB命令は、キャリーなしの逆SuBtractです。
ドキュメントは構文を示している:

RSB{S}{cond} {Rd}, Rn, Operand2 

以下の使用は、次に説明することができる。

RSB r1, r2, r3, LSL #1 
  1. r3, LSL #1は1ビット
  2. R2によって左シフト論理オペランド2→R3レジスタがありますRn
  3. r1はRd

したがって、r1、r2、およびr3レジスタは次のように使用されます。r1 = (r3 << 1) - r2

1

一箇所だけ左r3の内容をシフトRSB r1, r2, r3, LSL #1命令、r2を減算し、フラグを設定せずr1に結果を格納します。第三のオペランドがr3, LSL #1を含む柔軟オペランドあること

r1 = r3 + r3 - r2 

注:擬似コードでは、このありません。詳細はthis pageを参照してください。

関連する問題