gpt4 book ai didi

assembly - 我怎样才能擅长组装?

转载 作者:行者123 更新时间:2023-12-02 17:02:56 25 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

2个月前关闭。




Improve this question




这个问题的答案当然是“写一些汇编代码!”

但我可以做到:我知道基本的 x86 语法、寄存器的类型以及如何使用它们、子例程等。

当我参加汇编类(class)时,每个作业都有我们可以使用的最大指令数。如果我们过去了,那么我们就会失去积分——所以这教会了我们高效地做事。你知道,如果你看到一个 C 程序在做这样的事情,你可能会提示那个人创建了难以理解的代码。

对于 C,可以建议“编写多线程程序”或“编写套接字服务器/客户端”。对于 PHP,建议可能是“编写个人博客软件”。要学习语言的语法,通常建议使用“project euler”。

所以我的问题是:

  • 我可以在汇编中写什么样的东西来磨练我的汇编和效率技能?例如,我可以在 x86 中做一个项目 euler 问题,但这并不能帮助我掌握特定于程序集的技能。什么是我可以做的只能在汇编程序中真正编码的项目想法?
  • 我将如何分析我是否正在编写“好”代码?例如,对于 C 和套接字,网络上有 10 亿个教程,我的好友列表上有 10 亿人可以查看我的代码,关于它们的问题有 10 亿个:因此更容易衡量一个人的进步。
  • 是否有现有的组装重型项目可供我学习?或者甚至是程序的一部分,为了效率而将它们分解为 [特定任务] 的程序集?
  • 我应该读什么类型的书?经常看低级事物的人的博客?

  • (最好是我可以在 linux 上的 x86 上做的事情。我认为这些概念将延续到其他架构。)

    最佳答案

    汇编可以做很多 C 不能做的事情,优化器也不是魔术。也就是说,不需要你成为汇编半神的最有用的东西都属于编译器、标准库和解释器运行时类别。

    例如,蹦床在所有三个中都有用或可能有用,并且您不能使用 C 来组成任意调用堆栈。

    要编写更好的汇编,请阅读此处的手册:

    http://www.agner.org/optimize/

    要查看专门用汇编编写的程序和一个痴迷于优化的社区来对您进行基准测试:

    http://flatassembler.net/

    关于assembly - 我怎样才能擅长组装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1910171/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com