学习汇编程序-有用的资源[关闭]


10

在上一个线程之后,它使我对学习汇编编程有所兴趣。并不是想对有用的应用程序进行编程,仅仅是为了获得低级编程的感觉,从而更好地了解正在发生的事情。

有人可以为初学者推荐任何书籍或在线资源吗?

谢谢。


Paul Carter博士的这本书对于x86 ASM来说相当不错。
jonescb

Answers:


5

推荐书籍:汇编语言编程的艺术

我也喜欢这个网站。汇编编程不错的介绍!在学习我的微处理器和微控制器课程时,我将此站点作为参考


太好了...谢谢 出于兴趣,与典型的现代语言相比,您觉得学习起来有多直观?我的历史是6个月的c#(行业)和大约同一时间的C ++(在我的卧室:))
Darren Young 2010年

1
我在课程中碰到了汇编编程(我仍然是一名学生),正如您在问题中所说的那样,这有助于了解嵌入式系统的工作原理和所有方面。但是,与高级(如您所说的现代)语言相比,我发现它没有太大用处。您知道,永远不会在我的领域-网络开发中使用它。:)
ykombinator 2010年

2

这是学术活动,还是您打算使用所学的汇编语言?这些天,这是相当专业的东西。编译器优化已变得如此出色,以至于即使是高性能硬盘驱动器之类的东西,通常也有大约1%的代码库是用汇编器编写的。沿着食物链发展到4位或某些8位处理器,您会发现使用了更多的汇编语言。

如果您真的想使用汇编语言,请选择一个具有良好指令集的处理器。我是ARM的前雇员,所以我可能有偏见,但是我发现ARM指令集特别容易学习-在公司的第三天,我就可以在asm中编写高效的FIR滤波器。目前,ARM的半导体合作伙伴每季度出货约10亿个ARM内核,因此很容易找到一家愿意使用您的ARM ASM专业知识的公司。

有很多ARM评估板可用,价格约为50美元,可以试用您的代码-看来ARM Cortex M3将会非常受欢迎。它使用ARM的Thumb2指令集,该指令集比普通的ARM32代码更加晦涩难懂,但仍然非常简单且非常强大。

这个小板看起来很酷,只需80欧元:http : //www.olimex.com/dev/stm32-103stk.html


这纯粹是学术/自学。我想更好地了解低级内存管理以及高级语言。
达伦·杨

1

基本上,就汇编编程而言,您需要首先了解底层体系结构,然后才需要相应的语言,例如,对于PIC微控制器,您可以使用所提供的编译器和该语言。我使用站点来参考PIC微控制器教程。


1

我总是发现最困难的部分是hello world,它通常只是一个琐碎的Assem函数,是从高级语言调用的,例如将两个数字相加。一旦克服了这一障碍,只需在指令表中添加指令和伪操作(如定义数据)即可。

尽管我从未使用过ARM,但我还是第二个。像这样的最小体系结构不仅会更容易,而且可能更接近于拥有合法的体系,而不是仅仅出于教学目的。


0

我有一个指令集,汇编器和模拟器,并为此目的创建了一些课程。我还没有关于我做的好坏的反馈,但是在那里,给它15分钟半小时的时间,看看它是否对您有帮助。 http://github.com/dwelch67/lsasim 之后,我有了一些主流的指令集模拟器,您也可以尝试,简单,简洁,可以在有C编译器的任何地方运行,等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.