web-dev-qa-db-ja.com

いくつかのx86ASMリファレンス/チュートリアル?

X86アセンブリ言語に関するいくつかの参照を見つけようとしています。私の理解を助けるためのチュートリアル/例。 -ありがとう

27
Dacto
26
willurd

RobyのPCアセンブリチュートリアルレッスン をお勧めします。 ダウンロード でも利用できます。図と例が含まれています。

"このアセンブリレッスンは、x86固有、つまりIntel 8088、80286、80386などを対象としています。はい、Pentiumま​​たはPentium IIIと互換性があります。AMDユーザーもこのチュートリアルを使用できます。基本のみをカバーします。Pascal、C、C++などのプログラミング言語をある程度理解していると思います。プログラミングの基本概念をもう一度やり直したくありません。」

  • 予備レッスン-低レベルの基本概念
    レジスタ、フラグ、メモリ、スタック、および割り込みについて説明します。あまり心配しないでください。あなたは非常に多くの概念と混同されるかもしれません。ただし、レッスンに従うと、すべての概念が十分に明確になるはずだと思います。
  • 第1章-COMプログラム構造
    最も単純なプログラム構造を観察して、アセンブリの旅を始めましょう。
  • 第2章-アセンブリ内の変数
    アセンブリ言語の変数のユニークな概念を発見してください。この概念は、通常の高級プログラミング言語の概念とは大きく異なります。また、mov命令のしくみについても説明します。
  • 第3章-算術命令
    アセンブリで算術演算を実行するにはどうすればよいですか?
  • 第4章-ビット単位の論理、パート1
    and、or、およびxorを使用して、ビットマスキングやフリッピングなどのさまざまな論理タスクを実行します。
  • 第5章-ビット単位の論理、パート2
    ビットシフトとローリングは、次の章で説明するビットマスキングを支援するのに役立ちます。
  • 第6章-分岐
    ブランチはすべてのプログラムに不可欠です。プログラムのロジックを改善するために、いくつかのアセンブリ分岐命令を試してみましょう。
  • 第7章-ループ
    アセンブリのループ命令は、高級プログラミング言語の構造に似せるのに役立ちます。
  • 第8章-割り込みエッセンシャル
    一般的なシステム割り込みサービスを使用して画面出力を行い、入力を受け取ります。
  • 第9章-スタックプッシュとポップを使用してスタックがどのように動作するかを知る。ここでは、小さなメモリモードに関する詳細について説明します。
  • 第10章-サブルーチンの作成
    サブルーチンを使用して構造化プログラミングアプローチを模倣します。
  • 第11章-マクロ
    マクロの使用。
  • 第12章-配列アクセス
    Assemblyが非常に大雑把な配列アクセス命令を提供する方法をご覧ください。
  • 第13章-基本的な文字列命令s
    さまざまな文字列命令の使用:movs、lods、cmps、scas、およびstos。
  • 第14章-構造
    高級言語のような構造を使用する。 Assemblyの構造体は、C/C++のstructおよびPascalのrecordと同等です。
  • 第15章-ちょっとした理論
    アドレッシングモードとメモリモードの説明に加えて、コンピュータアーキテクチャ101。
4
splattne

私が見た中で最も包括的なアセンブリのソースは、「 Art of AssemblyLanguage "」という本です。いくつかのバージョンで無料でダウンロードできます。

3
idan315

参考までに、 Intel IA-32リファレンスマニュアル が最も信頼のおける情報源です。

2
Paul Nathan

Professional Assembly Language が良いスタートだと思います。

1
Calyth