Where to learn x64 assembly from? [closed]
Solution 1:
I think this is a valid question. It can be a bit hard to find up to date information on assembler.
-
Yes. A lot of resources printed and online describe i386 (x86) assembler and not the new amd64 (x86_64). Many things have changed, e.g. function arguments used to be passed on the stack but now they are passed in registers. This applies both to Unix and Windows.
Basically, ensure you are reading about 64-bit assembly.
Why not try the online manual. Note that assemblers are not that different when it comes to simple stuff.
I don't have Windows but if you are having trouble with any specific program, you could ask about it here. You will need to post the actual failing program.
Yes but you have to link it against 32-bit libraries and use the 32-bit version of the Win32 API. But if you're starting out, why program in the 1980's when you can work with the modern instruction set?
Try this.
Also, if you are going to be programming in assembly, I strongly recommend you get a debugger. I use GDB which works well and is free, on Windows you get to use the Visual Studio debugger which is superb.