例えば、私はWindows 7 64ビットを実行していますが、アセンブリ言語を学習するための最善のリソースのすべてがx86について語っているようです。 x64上にx86を書くことが可能な場合は、これについて最善の方法は何ですか?存在するコンバータはありますか?また、何のための良いリソースは64ビットアセンブリプログラミングですか?x64ビットプロセッサでのx86アセンブリの作成
答えて
x86は間違いなく、最初に学ぶためのアセンブリではありません。もしあなたが学びたい最後のものであれば。チェックアウトhttps://github.com/dwelch67 lsasimは、アセンブリを学習するために設計された命令セットです。 pcemu_samplesはbios/dos呼び出しが削除された、特に8088/86アセンブラを学習するための修正されたpcemu(dosを実行できる8086/88エミュレータ)です。 pcemu_samplesのような8088/86で始まるx86アセンブリに近づくときにはお勧めします(ここではアセンブリ言語に焦点を当て、システムコールではなく)。 dosboxとbochsはdos/biosを使って8088/86プログラムを走らせることができます。その後、32ビットと64ビットの拡張、マルチコア、そしてそのすべてに移行します。
あなたは最後にx86を学ぶことで大きな利益を得ます。 msp430、上記のlsasimのこと、arm、thumb(not thumb2)はすべて良い出発点です。いくつかの異なる命令セットを学習することは、少なからず、あなたに大きな利益をもたらすでしょう。私はあなたに何が起こっているかについての良い可視性を与えるこれらのいくつかのためのシミュレータを持っています、私はあなたが可視性を得ることができるシミュレータを最初にシミュレートすることをお勧めします。
8088/86で始まり386/486に移動してからx64に転送すると、どこにでも働いている指示(sorta)について他の回答が得られるはずです。
ほとんどの64ビットオペレーティングシステムでは、問題なく32ビットバイナリを実行できます。あなたの質問は[Windows]というタグが付いているので、あなたはうまくいくはずです。チュートリアルから32ビットバイナリを作成する手順に従うと、結果のバイナリは変更せずに動作するはずです。別のツールチェーンを使用している場合は、64ビットコードではなく32ビットコードを生成するようにアセンブラに指示するフラグを見つける必要があります。
32ビットと64ビットのアセンブリプログラミングの違いはごくわずかです。 64ビットタイプを処理するためのいくつかの新しい改良された命令といくつかの新しいレジスタ名があります。新しいABIもあります。インテルには、すべての可能な指示とその動作方法を記述したソフトウェア開発者マニュアルがあります。
x64はほとんどの場合問題なくx86アプリケーションを実行できます。 ABIにはいくつかの違いがありますが、あなたが見ているx86リソースはアセンブリプログラミングを学びたいだけなら、うまくいくはずです。より広範な質問であるアセンブリのプログラミング自体を学ぶために。開始するには、NASMをご覧ください。
- 1. x64上のx86リモートデバッガサービス
- 2. x86 - x64 porting query
- 3. RXTX x64とx86
- 4. SWT x64 xulrunner 3.6.28 x86
- 5. x86/x64アーキテクチャ用のSQLite dll
- 6. x86とx64 System.Data.SQLiteの問題
- 7. x86アセンブリのバッファ
- 8. .NET - NGENのx86アセンブリ
- 9. x86/x64ディスプレースメントアドレッシングを追加
- 10. x86-64 GNUアセンブリ
- 11. x86アセンブリ関数
- 12. x86とx64の両方のコンパイル
- 13. x86またはx64の逆アセンブラは
- 14. TVarData x86とx64の相違点Delphi
- 15. machine.configをWiX x86/x64で変更する
- 16. vs2010でx64プログラムを作成
- 17. Microsoft Fakes x64 x86およびv4.5
- 18. x86 ARM x64バイナリを含むシングルNuGetパッケージ
- 19. x64プログラムはWindows x64上でx86 COMオブジェクトにアクセスできますか?
- 20. gcc用のx86アセンブリを生成するためのリソース
- 21. セットアッププロジェクトでのx64 x86間の一括切り替え
- 22. Windowsインストーラ(VS2008)でx86とx64の両方をターゲットにする
- 23. X86またはX64のAppID!異なるか同じですか?
- 24. x86とx64用のVS2012ソリューションを同時に構成する方法
- 25. x64上でx86を使用するようにASP.NETを構成する
- 26. ユーザー入力の修正 - x86 Linuxアセンブリ
- 27. のx86アセンブリにラベルを間接参照
- 28. X86アセンブリ - IDIV命令の処理
- 29. ループ/入力ロジックフロー問題(NASMのx86アセンブリ)
- 30. アセンブリ言語の電卓 - Linux x86&NASM - Division
この質問をご覧ください:http://stackoverflow.com/questions/2352048/assembly-32-bit-vs-64-bit –