gpt4 book ai didi

assembly - 我从哪里开始组装?

转载 作者:行者123 更新时间:2023-12-04 14:52:09 25 4
gpt4 key购买 nike

嘿,我会用 C 编程,会用 Python 和 Pascal 编程,我真的很想学习汇编。我 18 岁,高中毕业,编程是​​我的爱好,因为学业肯定不是什么挑战。

我已经下载了一些关于汇编的书,它们是:汇编艺术、初学者汇编、初学者汇编和 Wrox 专业汇编语言。我还下载了 FASM、MASM 和 HLA 编译器。

现在有几个问题。

  • 完整初学者汇编中的示例适用于 MASM,我应该在模拟器中运行它们吗,有人告诉我如果我不使用它会损坏我的电脑,如果是,我应该使用哪个模拟器?
  • 开发人员如何使他们的汇编代码可移植?我在这个主题上找到的唯一信息是关于编写病毒的,因为用汇编编写的病毒必须是可移植的。
  • 究竟什么是 HLA,它是真实的东西还是只是伪装成汇编以帮助教初学者汇编的 HLL?
  • 汇编社区在哪里,除了明显的 vxheaven 和cracker 网站?

  • 我最近读了很多书,但我觉得自己是一个正在学习拉丁语的人,但永远不会去梵蒂冈认识说拉丁语的人。我的 friend 们都用 Java 编程,但似乎并不关心 C 或 C++,他们认为他们可以用 Java 做任何事情。我在英特尔上运行 Windows 7 和 Ubuntu 10.0.10。我现在只编程了大约一年......我是否过早地进入汇编?我想学汇编的原因:
  • 想更多地了解 CPU 的工作原理。
  • 寻找挑战。
  • 想学习写高效的代码。
  • 想要编写更小、更快的程序。
  • 当我掌握了汇编后,想了解更多关于 OS dev 的信息。
  • 如果我掌握了汇编,学习更多 HLL 会更容易。
  • 希望在申请别人没有的工作时能提供一些东西。
  • 对 AVR 感兴趣,例如 Arduino,它使用 C 而不是汇编,但想了解更多关于 AVR 的信息。

  • 谢谢。吨

    最佳答案

    1) 与运行汇编程序相比,运行汇编程序对系统的“损害”不会比从 C 中更多地“损害”。但是,无意中从汇编代码中使您的进程崩溃可能会更容易一些。如果您想从模拟器中获得有用的东西,请查看 Bochs 或 QEMU - 它们不仅提供沙箱,还提供有用的调试工具。不过,如果没有虚拟机,您也可以使用常规调试器在常规操作系统上编写+测试代码。

    2)你没有,真的。您可以像在 C 中那样跨操作系统(但使用相同的 CPU)进行移植,但是跨 CPU 汇编没有意义(如果您想这样做,您不妨使用 C 或 .NET 或 Java 字节码)。

    3) 许多争吵的主题。取决于你如何看待它......汇编器实际上只是一个处理汇编语言的编译器。有很多组装的味道,有些比其他的高;大多数可用于 x86 的都有宏支持。 HLA 添加了很多宏支持和很多人不喜欢的语法,以及一个大的标准库。不是我的那杯茶(我宁愿使用“真正的”HLL),但在我的书中,它仍然是汇编语言。

    4) http://www.asmcommunity.net/board/ , http://board.flatassembler.net :) - 远离 IRC channel 。另外,远离usenet alt.lang.assembly,它几乎被一些卑鄙的人摧毁了。

    至于你学习汇编的几个原因:

    6.If I master assembly, learning more HLL would be easier.



    不一定,如果在深入研究 HLL 之前“做得太多”,甚至可能会更难。我发现一些机器架构知识可以导致编写更好的软件,但前提是你学会不要一直沉迷于无关紧要的微小细节。

    7.Want to have something to offer when applying for a job that others won't have.



    不一定对您有帮助,因为组装在大多数职位上完全无关紧要。哎呀,你冒着偏见的风险“哦,他永远不会把事情做好,迷失在无用的微优化中”。

    关于assembly - 我从哪里开始组装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3726444/

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