Where can I learn x86 Assembly?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
starmanz
Posts: 17
Joined: Sat Mar 18, 2017 4:52 am

Where can I learn x86 Assembly?

Post by starmanz »

Hello.

Where are good tutorials to learn x86 Assembly? It is hard to learn and I am struggling with finding a well explained tutorial.

I would like a good response please.

Thanks
Sam.
AX BX CX DX BP SP SI DI. The registers that never die. 16-bit... will always sit... in a book where people look. My signature is terrible! I think we all know that.
User avatar
TightCoderEx
Member
Member
Posts: 90
Joined: Sun Jan 13, 2013 6:24 pm
Location: Grande Prairie AB

Re: Where can I learn x86 Assembly?

Post by TightCoderEx »

Before you delve into tutorials, it's essential you understand the resources, particularly, the instruction set. As an example, you might start with MOV.

Code: Select all

        mov     eax, ebx       ; register to register
        mov     eax, 500       ; immediate to register
        mov     eax, [esi]
As you go through the possibilities, that opens to door to learning about addressing modes etc. Then afterward, when you look at tutorials they become much more understandable because you know what each instruction does. You'll soon discover there are good tutorials and there are bad ones and once you know a lot about X86, you might be surprised as to how often you can come up with an effective algorithm on your own.

The Software Developers Manual is 3251 pages and although you don't need to know every page right off the bat, but without that knowledge, assembly programming can be pretty frustrating.
Krash
Posts: 16
Joined: Sun Jan 29, 2017 11:37 am

Re: Where can I learn x86 Assembly?

Post by Krash »

This is a good place to start. It shows how C works and certain fundamentals of windows .

https://www.youtube.com/watch?v=mYCyMaG ... xHi-EhokHG
starmanz
Posts: 17
Joined: Sat Mar 18, 2017 4:52 am

Re: Where can I learn x86 Assembly?

Post by starmanz »

Sounds good. Anything that might help me with OS development?
AX BX CX DX BP SP SI DI. The registers that never die. 16-bit... will always sit... in a book where people look. My signature is terrible! I think we all know that.
starmanz
Posts: 17
Joined: Sat Mar 18, 2017 4:52 am

Re: Where can I learn x86 Assembly?

Post by starmanz »

Are there any better tutorials?
AX BX CX DX BP SP SI DI. The registers that never die. 16-bit... will always sit... in a book where people look. My signature is terrible! I think we all know that.
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Where can I learn x86 Assembly?

Post by dozniak »

Define "better".
Learn to read.
User avatar
zaval
Member
Member
Posts: 659
Joined: Fri Feb 17, 2017 4:01 pm
Location: Ukraine, Bachmut
Contact:

Re: Where can I learn x86 Assembly?

Post by zaval »

dozniak wrote:Define "better".

Code: Select all

#define BETTER
:mrgreen:
ANT - NT-like OS for x64 and arm64.
efify - UEFI for a couple of boards (mips and arm). suspended due to lost of all the target park boards (russians destroyed our town).
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Where can I learn x86 Assembly?

Post by Love4Boobies »

Don't try to learn engineering from tutorials. They are almost universally written by people who did not master the subject and there is almost never any quality control. Furthermore, their size puts constraints on their depth and the format is such that they only present one specific way of handling things so the reader is left none the wiser about possible alternatives. All in all, the biggest danger is that they will be left thinking they've learned more than they actually have. I recommend you start with one of the more popular books:
However, you've asked about material that would also help you with OS development so I think it's worth pointing out that assembly and OS development aren't really related. You don't need to know assembly, except to do a few architecture-specific things (such as context switching, using the MMU's protection features, etc.), and that's only because most so-called higher-level languages are designed to be portable and are thus, in a sense, common denominators of all architectures they were designed with in mind. Otherwise, there's really nothing really special about assembly (yet there are plenty of reasons to stay away from it as much as possible if you're working on anything serious).
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
starmanz
Posts: 17
Joined: Sat Mar 18, 2017 4:52 am

Re: Where can I learn x86 Assembly?

Post by starmanz »

I don't want to learn a high level language. I want to learn 100% fully Assembly. The tutorials are impossible to learn from and they are confusing. I didn't want to learn Assembly just for operating system development, I wanted to check out reverse engineering. I've simply asked for a good place to learn Assembly. I found Intel manuals and they are so frustrating. I want a good tutorial that can help me get started with Win32 Assembly or DOS Assembly. I might even want to check out Linux Assembly.
AX BX CX DX BP SP SI DI. The registers that never die. 16-bit... will always sit... in a book where people look. My signature is terrible! I think we all know that.
Post Reply