组装学习资源?

问题描述 投票:0回答:4

我正在寻找一种好的、简洁的、结构化的方法来开始学习 x86 ASM。我有 Perl、Python 和 C/C++ 方面的经验,可以说我一直想“深入了解”它有一段时间了,但每次我研究它时,我都发现除了令人困惑、冲突和大部分内容之外什么也没有。的日期信息。我对 MASM、FASM、HLA 和其他一些我在谷歌上搜索发现的东西感到困惑,但它们似乎都没有提供我正在寻找的东西:一个快速介绍,其中包含深入底层的详细信息ASM 世界。我不想要 HLA 之类的东西给你 stdout.put() 等东西。我希望能够看到实际的中断被调用,并了解一切是如何做它所做的事情的。有什么建议吗?

assembly x86 asmx
4个回答
3
投票

有一本明确的装配圣经:装配艺术。更重要的是,它可以在网上免费获得!它有点过时了,这很好,因为你将能够学习基础知识,而无需深入了解可怕的内容复杂的新“功能”仅对操作系统有用。
Art of Assembly
(来源:computer-books.us

一些提示:

  • 使用nasm,它是unix和windows世界中的“标准”编译器,并且其语法与本书使用的masm非常相似。(并不是说它更好,只是更好-记录)。

  • 你是对的,HLA 是学习汇编的错误方法。将其保存为高级语言:)

  • 您可以在操作系统之上运行程序,或者使用Virtualbox

  • 一开始就尝试“坚持到底”。也就是说,没有库,除了汇编之外什么都没有。机器本身不提供任何东西。

  • 一旦你掌握了理论(这很重要!),你可以尝试阅读有关 BIOS 功能,特别是打印到屏幕的功能(它们非常简单),以便你可以在虚拟机或真实硬件上快速测试你的代码.

  • 虽然没有必要,但您也可以尝试学习 c,因为它们与汇编共享低级概念,并且与 c++ 非常相似。

参考资料:

快速的 hello world 教程 让您开始使用 Linux。

BIOS功能(实际上是中断调用)。


3
投票

您应该尝试 MIPS 汇编,如果您想了解汇编的工作原理,它会更容易且更好。有一个名为 MARS 的模拟器可以在这里下载:http://courses.missouristate.edu/KenVollmar/Mars/download.htm

这可以帮助您:http://www.inf.pucrs.br/~calazans/undergrad/arq1/mips/cod-appa.pdf

抱歉没有正确回答您的问题。


0
投票

我知道这是一篇旧文章,但我正在开始一个关于 x86 ASM 的新系列。 你可以在这里查看。

https://kcr.dww.temporary.site/website_937307b1/


-1
投票

对于概念,从基础书籍开始总是好的。我推荐 Kenneth J. Ayala 所著的《8086 微处理器:PC 编程和接口》一书。这是世界各地许多大学使用的教科书,将向您介绍该主题。

© www.soinside.com 2019 - 2024. All rights reserved.