【问题标题】:Some x86 ASM Reference/Tutorials? [closed]一些 x86 ASM 参考/教程? [关闭]
【发布时间】:2015-10-09 03:46:58
【问题描述】:

我正在尝试查找有关 x86 汇编语言的一些参考资料。帮助我理解的教程/示例。 -谢谢

【问题讨论】:

    标签: reference x86 assembly


    【解决方案1】:

    【讨论】:

    • 是的,我一直在阅读 x86 wikibook
    • - 第一个非常适合基本理解 - 从头开始​​的编程书。 - 如果您了解一些基础知识并希望获得良好的参考,x86 汇编 wikibooks 是完美的选择。
    【解决方案2】:

    我推荐Roby's PC Assembly Tutorial Lesson。它也适用于download。它包含图表和示例。

    “这个汇编课程是针对 x86 特定的,即 Intel 8088、80286、80386 等。是的,它与您的 Pentium 或 Pentium III 兼容。AMD 用户也可以使用本教程,因为我涵盖只是基础知识。我假设你已经掌握了一些编程语言,比如 Pascal、C 或 C++。我不想从头再来一遍编程的基本概念。”

    • 预备课 -- 低级基本概念
      谈论寄存器、标志、内存、堆栈和中断。不要担心太多。你可能对很多概念感到困惑。但是,随着您的学习,我认为每个概念都应该足够清晰。
    • 第一章——COM程序结构
      通过观察最简单的程序结构开始您的汇编之旅。
    • 第 2 章 -- 汇编中的变量
      发现汇编语言中变量的独特概念。这个概念与普通的高级编程语言的概念大不相同。我还解释了 mov 指令的工作原理。
    • 第 3 章 -- 算术说明
      我们如何在汇编中执行一些算术运算?
    • 第 4 章——按位逻辑,第 1 部分
      使用 and、or 和 xor 执行各种逻辑任务,包括位掩码和翻转。
    • 第 5 章 -- 位逻辑,第 2 部分
      位移和滚动有助于下一章中介绍的位掩码。
    • 第 6 章 -- 分支
      分支对于所有程序都是必不可少的。让我们尝试一些汇编分支指令来改进程序的逻辑。
    • 第 7 章 -- 循环
      汇编中的循环指令可用于模拟高级编程语言结构。
    • 第 8 章 -- 中断要点
      使用常见的系统中断服务进行屏幕输出和输入。
    • 第 9 章——堆栈 使用 push 和 pop 并了解堆栈的行为方式。此处解释了有关微型内存模式的一些详细信息。
    • 第 10 章——制作子程序
      使用子例程来模仿结构化编程方法。
    • 第 11 章 -- 宏
      使用宏。
    • 第 12 章——数组访问
      看看汇编如何提供非常粗略的数组访问指令。
    • 第 13 章 -- 基本字符串指令s
      使用各种字符串指令:movs、lods、cmps、scas 和 stos。
    • 第 14 章 -- 结构
      使用类似于高级语言中的结构。汇编中的结构相当于 C/C++ 中的 struct 和 Pascal 中的记录。
    • 第 15 章 -- 一点理论
      解释了寻址模式和内存模式以及计算机体系结构 101。

    【讨论】:

    • 注意这是针对 16 位处理器的
    【解决方案3】:

    我见过的最好、最全面的汇编源代码是“Art of Assembly Language”一书。它是免费下载的,有多个版本。

    【讨论】:

    • 如果你真的对学习汇编很感兴趣,那么你就会知道任何使用“高级汇编”的东西都是浪费时间,跳过这本书,寻找能教你低级的东西级汇编。Kip Irvine 的基于 Intel 的计算机的汇编语言是一本相当不错的书
    【解决方案4】:

    作为参考,Intel IA-32 reference manuals 是权威来源。

    【讨论】:

    • IIRC 有这些 PDF 的仅 IA-32 版本(我在家里有一份副本)。有谁知道他们的链接在哪里?
    【解决方案5】:

    我发现Professional Assembly Language 是一个好的开始。

    【讨论】:

      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多