开发者

Want to learn assembly, confused about where to start [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 years ago.

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开发者_如何学C 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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜