大会学习资源? [英] Assembly learning resources?

查看:197
本文介绍了大会学习资源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找一个良好的,简洁的,结构化的方式来开始学习ASM 86。我用Perl,Python和C / C ++的经验,我一直想为引擎盖下得到'所以很长一段时间说话,但现在每次我研究它时,我觉得没什么,但混乱的,矛盾的,而且大多出的最新信息。我与MASM,FASM,HLA,以及一些其他的东西,我发现只是谷歌搜索周围乱,但他们都不似乎提供什么我在寻找:简要介绍具有良好的信息到细节问题低水平世界ASM的。我不希望之类的东西HLA,让你喜欢的东西stdout.put(),等等。我希望能够看到实际的中断调用,并学习如何一切一样它做什么。有什么建议?

I'm looking for a good, concise, structured way to start learning x86 ASM. I have experience with Perl, Python, and C/C++, and I've been wanting to 'get under the hood' so to speak for quite awhile now but every time I research it I find nothing but confusing, conflicting, and largely out of date information. I'm messed with MASM, FASM, HLA, and a few other things I've found just googling around, but none of them seem to offer what I'm looking for: a quick introduction with good information into the nitty gritty low level world of ASM. I don't want things like HLA that give you things like stdout.put(), etc. I want to be able to see actual interrupts being called, and learn how everything does what it does. Any advice?

推荐答案

有是大会确定的圣经:的大会。什么的艺术,更是在线免费提供!这是一个有点过时,这是很好的,因为你将能够在不潜水的基本知识学习到非常复杂的新的功能仅适用于操作系统的有用。结果

There is the definite bible of Assembly: Art of Assembly.What is more, it is freely available online!It is a bit out of date, which is good since you will be able to learn the basics without diving into the terribly complicated new "features" only useful for operating systems.

的一些技巧:


  • 使用NASM,它是在UNIX和Windows的世界标准的编译器,并且是有语法,这是非常相似的MASM,经书使用。(这并不是说这是更好的,只有更好的详细记录)。

  • Use nasm, it is the 'standard' compiler in the unix and the windows world, and is has a syntax which is very similar to masm, used by the book.(that is not to say that it is better, only better-documented).

您是对的,HLA是在错误的方式来学习assembly.Save成为高层次的语言:)

You are right, HLA is the wrong way to learn assembly.Save it for high-level languages:)

您可以运行在一个操作系统之上的程序,或使用 VirtualBox虚拟

You can run the programs either on top of an os, or, use Virtualbox

尝试'粘到金属'为beginning.That是,没有图书馆,没有什么比assembly.Nothing机器本身不提供别的。

Try to 'stick to the metal' for the beginning.That is, no libraries and nothing else than assembly.Nothing that the machine itself does not provide.

一旦你拿起理论(这一点很重要!),你可以尝试阅读有关BIOS功能,专门打印到屏幕的人(他们是很简单的),这样​​你可以在测试code虚拟机,或者快速真实的硬件。

Once you pick up the theory(it is important!) you can try reading about bios functions and specifically the print to screen ones(they are very simple) so that you can test your code on a virtual machine, or real hardware quickly.

虽然没有必要,你也可以尝试学习C,因为它们汇编共享水平低的概念和合理类似于C ++。

Albeit not necessary, you can also try learning c, since they share the low level concepts with assembly and is reasonably similar to c++.

一个快速的Hello World教程让你开始在Linux上。

A quick hello world tutorial to get you started on linux.

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

The bios functions(actually interrupt calls).

这篇关于大会学习资源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆