私は書くべきアセンブリプログラムを持っています。 AXレジスタが0より大きい場合、AXレジスタが0より小さい値を持っていれば、BXで-1を動かし、AX = 0ならば0を動かし、BXで0を動かす必要があります。私はそれを行う次のコードがありますが、私は代わりの解決策を探しています。助けてください。ありがとうAXとゼロとの比較
1
A
答えて
3
あなたが与えたコードは常に-1を返します。これを試してみてください:
CMP AX, 0
JG GREATER
JL LESS
MOV BX, 0
JMP END
GREATER:
MOV BX, 1
JMP END
LESS:
MOV BX, -1
END:
+0
ああ、私の悪い。終了ジャンプを追加してくれてありがとう。 – Foo
1
は、単一の条件分岐なし無条件ジャンプを必要とし、これを試してみてください:
mov bx, ax // copy ax to bx
sarw bx, 15 // arithmetic shift - any -ve => -1, 0 or +ve => 0
cmp ax, 0 // compare original number to zero
jle end // if it's <=, we're done
mov bx, 1 // else bx = 1
end:
NB - 私のx86コードは非常に非常にさびです。また、sar
のそのバージョンは、私はせずに386+のためのより良いバージョンを見つけたと思う8086ではありませんでしたが、286にあった以降、および80386
EDITまで、特に迅速な取得できませんでした任意の支店:
関連する問題
- 1. ゼロとの浮動小数点の比較
- 2. 浮動小数点数をゼロと比較する
- 3. Googleアナリティクスとリアルタイムアナリティクスの比較:ChartbeatとClickyとMixpanelの比較
- 4. カウントループと比較
- 5. コピーデータと比較
- 6. 比較条件と比較条件
- 7. OrElseとの比較
- 8. MySQLの比較と '%'
- 9. ViewStateとクッキーとの比較対キャッシュの比較
- 10. BufferedOutputStreamとByteArrayOutputStreamとの比較
- 11. IDeserializationCallbackとOnDeserializedAttributeとの比較
- 12. iosとjsonとの比較
- 13. DataSourceUtils.getConnectionとDataSource.getConnectionとの比較
- 14. NullReferenceExceptionとMSILとの比較
- 15. FuzzyとSeleniumとの比較
- 16. Display.asyncExecとDisplay.timerExecとの比較
- 17. HttpContextとHttpListenerContextとの比較
- 18. File.Delete()とFileInfo.Delete()との比較
- 19. PHPとWordPressとの比較
- 20. ELとequalIgnoreCaseとの比較
- 21. モンテカルロ法と進化的アルゴリズムの比較と比較
- 22. ポータブルプリントと比較pthread_t
- 23. 比較floatとdouble
- 24. ユーザーとパスワードを比較するSQLとActive Directoryを比較
- 25. 構造体をゼロと比較するのに好ましい方法
- 26. ヘッドリビジョンとの比較のショートカット
- 27. DbConnectionとOleDbConnectionとOdbcConnectionとの比較
- 28. mmapビッグエンディアンとリトルエンディアンの比較
- 29. 公開とコピーの比較
- 30. ActiveRecordオブジェクトとRspecの比較
なぜ代替ソリューションが必要なのですか? –
@KendallFrey:別の方法があるかどうかを理解したい。 – Foo
あなたはそれを好きなようにすることができます。必要に応じて、独自のハードウェアデバイスを構築して変換を行います。言い換えれば、それを行うには多くの方法があります。動作する小さなソリューションを使用してください。 –