C 如何为x86汇编语言选择正确的源代码

C 如何为x86汇编语言选择正确的源代码,c,assembly,x86,C,Assembly,X86,我想深入计算机世界,这就是我想学习x86汇编的原因。我找到了一些书作为资料来源。但我不知道他们是否会帮助我。我应该如何开始,在哪里开始。这些是我找到的书。这些书有pdf页面,但我不知道是否禁止分享 从头开始编程 64位英特尔汇编语言Linux编程 X86汇编语言和C基础 汇编语言分步编程Linux,第三版 Linux汇编语言编程指南 一般来说,您应该了解计算机体系结构,然后选择x86源代码就不那么重要了。理解体系结构的方式、能力和局限性对于此类编程至关重要 如果您是编程新手,在深入研究计算机体系

我想深入计算机世界,这就是我想学习x86汇编的原因。我找到了一些书作为资料来源。但我不知道他们是否会帮助我。我应该如何开始,在哪里开始。这些是我找到的书。这些书有pdf页面,但我不知道是否禁止分享

  • 从头开始编程
  • 64位英特尔汇编语言Linux编程
  • X86汇编语言和C基础
  • 汇编语言分步编程Linux,第三版
  • Linux汇编语言编程指南

  • 一般来说,您应该了解计算机体系结构,然后选择x86源代码就不那么重要了。理解体系结构的方式、能力和局限性对于此类编程至关重要

    如果您是编程新手,在深入研究计算机体系结构之前,您应该学习一门无障碍的计算机语言。处理似乎很好。大多数生产语言(java,C++,…)都是一个坏的选择,因为他们需要对手头的任务进行太多的修饰。处理几乎对任何设备都是免费的,有一本免费的在线书,还有一本打印的


    祝你好运;这很有趣。我以编程为生已经30多年了,现在仍然很喜欢。

    IMO C是在asm之前学习的好语言。它是Unix和某种程度的Windows上的低级系统编程语言,因此系统调用文档是用C语言编写的。而且,C的指针正是“普通”CPU的asm指针的模型。C可以非常直接地编译到asm:例如,如果我想让编译器发出一条特定的指令,例如,我通常可以编写一个C函数,它接受args并返回一个值,该值可以编译成一条或几条指令,包括我想要的指令。但是如果你试图使用它们,可怕的未定义行为袭来,你的房子可能会被烧毁。但是,是的,一个简单的C编译器,比如Plan9,甚至gcc 3.0之前的版本…谢谢你的帮助。我已经使用了处理,我做了俄罗斯方块,蛇等,但它不是为我。我想知道计算机是如何工作的。对于学习计算机体系结构,您有什么推荐的来源吗?没错,对于C抽象机器的类似asm的指针模型,您必须使用
    gcc-fno严格别名。通常,如果你只看一个C函数,你仍然可以得到你想要的asm,但显然,如果你实际上是在C程序中编写C,而不是在asm中进行实验,你应该避免它。“计算机体系结构:定量方法”由David A Patterson和John L.Hennessy撰写。Hennessy是IMO中最好的一本。初学者可能希望从同一作者的“计算机组织与设计:硬件/软件接口”开始