Book Request!
Book Request!
Hello everyone, I've downloaded all of AMD's AMD64 related documentation and have trolled around Amazon for a while but the typical searches come up empty. Can anyone recommend a book for learning assembly for the x64 architecture (NASM-centric if possible)? Almost all of the books I can find on Amazon are related to Intel so I haven't had much luck yet. If you can find any please let me know! Thanks for the help.
64 bit AMD's and Intel's use the same instruction code. (Except for that one 64 bit Intel processor...don't recall the name.)
Moreover, 32 bit and 64 bit assembly syntaxes are pretty much the same, except for some added registers, and other PC changes specific to 64bit address spaces.
Just any tutorial on the web should be enough.
This one's not bad.
Moreover, 32 bit and 64 bit assembly syntaxes are pretty much the same, except for some added registers, and other PC changes specific to 64bit address spaces.
Just any tutorial on the web should be enough.
This one's not bad.
Last edited by Alboin on Fri Jun 01, 2007 5:32 pm, edited 1 time in total.
C8H10N4O2 | #446691 | Trust the nodes.
Consider it verified.Brackets wrote:Just in case though, I'll wait for a while for a response to verify this
@Alboin that's quite a good introduction. I hadn't seen it before, thanks for the link.
It doesn't go into os-specific code like lgdt and so on but you can get those from the Intel/AMD manuals anyway.
Regards,
John.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
AMD originally made the 64bit extensions to the x86 architecture (AMD64), Intel originally planned to go in a different direction but later decided instead to implement AMD's extensions into their own products.
Recent Intel and AMD "x86-64" processors are mostly compatible.. It's why you only normally see a single 64bit port of an OS.
So yes, They are both binary compatible.. opcode compatible.. and share the same instruction set (To some extent..).
There might be a few implementation specific differences though.. Someone more qualified might be able to clear that up.
This also seems to have some useful information:
http://en.wikipedia.org/wiki/X86-64
(And Alboin sums most of it up..)
Recent Intel and AMD "x86-64" processors are mostly compatible.. It's why you only normally see a single 64bit port of an OS.
So yes, They are both binary compatible.. opcode compatible.. and share the same instruction set (To some extent..).
There might be a few implementation specific differences though.. Someone more qualified might be able to clear that up.
This also seems to have some useful information:
http://en.wikipedia.org/wiki/X86-64
(And Alboin sums most of it up..)
A 32 bit book should be fine, just remember that there are some differences between 32 and 64 bits. (ie. Registers being one: rax, rbx, etc.) Although, once you know the basics of assembly language, the Intel\AMD (They're about the same regarding their information.) manuals should be able to give you the details.Brackets wrote:Excellent! In that case, I'll select the best NASM-centric assembly book I can find, regardless of whether it is x86 or x64!...
C8H10N4O2 | #446691 | Trust the nodes.