Live data from Hacker News

Ask HN: What's the best resource for learning modern x64 assembly?

news.ycombinator.com

91–100 of 112 posts

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#92

Earlier quoted context omitted.

>Learn whatever assembly language first On this front, I can highly recommend these two resources, preferably in this order for someone totally new to assembly: NAND to Tetris, a course that will have you build an emulated general-purpose CPU from first principles even with no prior knowledge. You'll learn exactly about registers and memory by making them. I even recommend this to non-hardware people because the way…

I also recommend Xeno Kovah's OpenSecurityTraining courses on YouTube, some of which are specifically dedicated to assembly. The audio quality can sometimes be pretty bad, but the information is good. Though they try to obfuscate things a little bit, these are clearly workshops given to researchers at Mitre, the CVE project maintainer.

http://opensecuritytraining.info/

For those interested.

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#93
Kip Irvine's textbook on the subject is good. It's oriented towards Visual Studio (good, easy debugging) and windows but a fellow student had no problem using Linux tools to follow along and complete the course, which is not a bad way learn.

It's useful to at least look at such a textbook to make sure you don't skip any of the easy, sort-of prerequisite material.

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#94
post #25

If you basically don't know how to code in assembly, learn 16-bit x86 with whichever method you find, it won't be wasted. You can extend most of the knowledge from 16 to 32 bit substituting register names ax,bx,cx,dx,si,di,bp,sp y eax,ebx,ecx,edx,esi,edi,ebp,esp. You can extend that to 64 bit with rax,rbx,rcx,rdx,rsi,rdi,rbp,rsp. Learning 16-bit x86 will have you learn about segment registers, but it isn't wasted eit…

Thanks for sharing this, hablo español and this seems very helpful to me

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#95
I learned x86 from Xeno Kovah's course and I imagine his x64 will be just as comprehensive.

It looks like his x64 is just slides instead of videos which may be better, sitting through 16hrs of video when I was learning x86 was ... an experience, but a very useful one.

Anyway, whenever someone asks this question I don't hesitate to bring up his work and trainings I think they're really useful. I know this is for reverse engineering but if you can reverse engineer x64 you can certainly write it.

http://opensecuritytraining.info/IntroX86-64.html

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#97
post #17

Have you looked at the official docs? Back in 386 days that's all we had. https://software.intel.com/en-us/articles/intel-sdm

In 1993, as a broke high-school student pre-cell-phone and pre-search-engine, we didn't even have that (although we did have BBS phone-number/speeds/protocols/login lists). I had to take the nascent VTA Lightrail (when it was even more uncool) to Computer Literacy bookstore (when programming was also less cool) to find decent technical references... and I promptly dropped a few hundred bucks on dead tree carcasses wh…

I remember those books. They were all helpful in teaching assembly, bios, and general pc programming like serial ports, etc.

None of them really helped with 386 protected mode programming. GDT, LDT, selectors and descriptors, paging, etc. For that you really needed the official docs. I printed the 300+ page programmer's guide in the school lab which they were not too happy about.

Re: Ask HN: What's the best resource for learning modern x64 assembly?

#100

https://beginners.re/

this is hands-down among best that are out there (and it's free). It is known under 2 names[1] which might be a bit confusing but it _IS_ about assembly. see this HN thread (450+ points) discussing the book at the time: https://news.ycombinator.com/item?id=21640669 It is also constantly updated. This books is to ASSEMBLY what Richard W. Stevens is to TCP/IP and UNIX programming. Also it IS a beginners books because h…

> Also it IS a beginners books because he makes no assumptions about the readers previous experience

I've just started going through it, and it's definitely made some assumptions about prior knowledge; I doubt I would have been able to get through it if I didn't already have some assembly knowledge.

Post reply on HN