而学习汇编不堪重负。请取向
最近,我决定学习大会将是一个不错的主意,但现在,我真的被所有的物质压倒我在论坛上读到装配,在这里,TUTOS等(有些是真的老了),所以我很想有关于汇编语言的一些方向,如何编等,我也希望它能够到我的CPU上运行,这样我可以练习,这里有从CPU-Z的我的CPU细节。
Recently I decided that learning assembly would be a good idea, but right now, I'm really overwhelmed by all the material I have read about assembly in forums, here, tutos etc (Some of it is really old) so I would love to have some orientation about the assembly language, how to "compile" etc, I would also like it to be able to run on my CPU, so that i can practice, here are my CPU details from CPU-Z
AMD速龙64 3200 +
AMD Athlon 64 3200+
的支持的指令:的MMX(+),支持3DNow(+),SSE(1,2,3),X86-64
Supported Instructions: MMX(+), 3DNow!(+), SSE(1, 2, 3), x86-64
注意::如果可能,我希望这是面向的Windows(?这是否真的很重要)
Note: If possible I want this to be Windows oriented (Does this really matters?)
先谢谢了。
我认为最好的方法之一开始学习汇编语言是看由你熟悉的语言编译器创建的输出。例如,如果您熟悉Visual C ++,然后写在C ++中一些很简单的code和使用集成的调试器显示由编译器(请确保您正在使用的优化编译的关创建的汇编语言)。写一些简单的为
循环,分配,算术等,看看所创建的汇编语言是什么样子。
I think that one of the best ways to start learning assembly language is to look at the output created by a compiler for a language you're familiar with. For example, if you are familiar with Visual C++, then write some very simple code in C++ and use the integrated debugger to show the assembly language created by the compiler (make sure you're compiling with optimisations off). Write some simple for
loops, assignment, arithmetic, etc and see what the created assembly language looks like.
有关学习,你不需要知道你已经在你的问题中列出的指令集扩展任何东西。所有你需要关心的是x86的32位指令。您可以了解64位指令,MMX,SSE等以后一旦你已经到位了基础。
For learning, you don't need to know anything about the instruction set extensions that you've listed in your question. All you need to be concerned about is x86 32-bit instructions. You can learn about 64-bit instructions, MMX, SSE, etc later once you've got the foundations in place.
一旦你在一些基本的了解,你需要一个汇编程序。一个好的,支持开源的通用汇编器是 NASM 。
Once you've got some basic understanding in place, you'll need an assembler. A good, well-supported open source general purpose assembler is nasm.