当前位置: 动力学知识库 > 问答 > 编程问答 >

windows - Want to learn assembly, confused about where to start

问题描述:

Just for the hell of it, i've taken an interest in learning assembly. The problem is I can't find a good starting point...

There seems to be a lot of assemblers available (FASM, NASM, YASM, MASM) but each has their own separate syntax, commands, and features. FASM seems to be the most convenient since it can compile executables without a linker but I haven't been able to find any tutorials to start me off. All the "Hello World" examples i've seen are 16 or 32-bit, but i'm running on 64-bit Windows so none of them work. The Windows examples included with FASM work but I'm not looking to get into Windows programming right from the start, I want to grasp the basics first.

Can anyone point me in the right direction?

网友答案:

If you want to learn to read assembly, I recommend learning to use WInDbg or IDA Pro as your primary debugger - learning not only what the instructions do, but how a C++ compiler idiomatically translates your source code into assembly will help you to learn far better than if you're doing contrived 100% assembly examples

网友答案:

I am no expert on assembly but it is an essential thing, to at least be familiar with, in computing. In a computer engineering class we used SPIM by James Laurus, a MIPS architecture simulator for windows. I think it is a good starting point. You can find a MIPS cheat-sheet via Google search, as well as some tutorials.

Assembly is cool because it is essentially machine language. Happy hacking!

网友答案:

32-bit examples should work even though your host OS is 64-bit.

On top of that is the difference between a 32- and a 64-bit Hello World just 2 characters:

include 'win64ax.inc'

vs

include 'win32ax.inc'
网友答案:

This is the best x86 ASM introduction I have found:

http://www.drpaulcarter.com/pcasm/

There is a pdf version of his book on that page. It starts at the very basics and works its way up. I got all of the fundamental ASM knowledge that I needed just with this book (stack frame creation, calling conventions, c interop, just to name a couple).

网友答案:

It's just boring to learn assembler without any goal.

Could I recommend you to buy any robot kit? As I know RoboSavvy robots are managed by assmeblers / C .. Others may have only DSL.

http://robosavvy.com/site/

P.S. I've learned assembler when I was in need to cheat in games. But today I would choose robot kits.

网友答案:

If you are a bigner and wants to learn the assembly better to get ASM knowledge 1st. secondly try to learn the basic logic behind each code. 3.enjoy the language when try to learn if u r intrested otherwise leave it.

分享给朋友:
您可能感兴趣的文章:
随机阅读: