-4
A
答えて
0
正直なところ、私はちょうどthis answerを取り、アセンブリにそれを翻訳し、レジスタcx
とdx
は、中間結果を取得するために使用されている一方で、合計の数字は、ax
とbx
であり、最終的な結果は、dx
である:
mov ax, 12801 ;◄■■ FIRST NUMBER.
mov bx, 2017 ;◄■■ SECOND NUMBER.
l1:
mov cx, ax
and cx, bx
mov dx, ax
xor dx, bx
mov ax, cx
shl ax, 1
mov bx, dx
cmp ax, 0 ;◄■■ IF AX != 0 REPEAT.
jne l1
;RESULT IN DX = 14818
+1
うまく複雑です。どうやって 'mov si、ax; lea dx、[bx + si] '(誰も言わなかった16ビットに固執すれば)。 – Jester
+3
私はあなたが実際に最適なコードを望むなら、あなたは 'add'を使うだろうから、完全にばかげている点を除いて、あなたがここにあるコードを最適化するという熱望を持っています! –
関連する問題
- 1. Cプログラミング!算術演算子演算
- 2. オーバーロード算術演算子
- 3. 算術演算子と関係演算子
- 4. C#のデフォルトの算術演算子
- 5. 列内の算術演算子
- 6. GLSL算術演算子GLSLで
- 7. Javascriptの算術演算の加算演算子はありますか?
- 8. 算術演算がオーバーフロー
- 9. C++の算術演算
- 10. 算術演算 - JavaScriptの
- 11. Javaでの算術演算
- 12. c#算術演算のリスト
- 13. doctrine QueryBuilderの算術演算
- 14. enum値の算術演算
- 15. Stackdriverモニタリングチャートの算術演算
- 16. ユーザーフォームの算術演算
- 17. int - Javaの算術演算
- 18. オブジェクトの算術演算
- 19. 演算子( - - )()演算子C#
- 20. 演算子if演算子
- 21. C++演算子()括弧 - 演算子Type()vs型演算子()
- 22. 算術演算子を関数として扱う
- 23. charを算術演算子に変換します
- 24. AngularJS:算術演算子を数値に変換する
- 25. HLSLの>算術演算子は何をしますか?
- 26. スノーフレーク変換のデータ型(算術演算子)
- 27. Chiselで算術シフト演算子を使用する方法
- 28. シフト演算子を使用しない算術右シフト
- 29. golang htmlテンプレートで算術演算子を使用する方法
- 30. 算術演算子の保存と使用
どのアーキテクチャについて言及するのを忘れましたか。 x86では 'LEA'を使うことができます。 – Jester
@Jester x86の場合 –
@Jesterどうすれば 'movd mm0、eax; movd mm0、ecx; paddd mm0、mm1; movd eax、mm0'? – fuz