OSDev.org
https://forum.osdev.org/

Where can I learn x86 Assembly?
https://forum.osdev.org/viewtopic.php?f=1&t=31437
Page 1 of 1

Author:  starmanz [ Sat Mar 18, 2017 5:00 am ]
Post subject:  Where can I learn x86 Assembly?

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.

Author:  TightCoderEx [ Sat Mar 18, 2017 12:54 pm ]
Post subject:  Re: Where can I learn x86 Assembly?

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:
        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.

Author:  Krash [ Mon Mar 20, 2017 8:19 am ]
Post subject:  Re: Where can I learn x86 Assembly?

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

Author:  starmanz [ Mon Mar 20, 2017 12:25 pm ]
Post subject:  Re: Where can I learn x86 Assembly?

Sounds good. Anything that might help me with OS development?

Author:  starmanz [ Tue Mar 21, 2017 12:48 pm ]
Post subject:  Re: Where can I learn x86 Assembly?

Are there any better tutorials?

Author:  dozniak [ Wed Mar 22, 2017 6:05 am ]
Post subject:  Re: Where can I learn x86 Assembly?

Define "better".

Author:  zaval [ Wed Mar 22, 2017 7:10 am ]
Post subject:  Re: Where can I learn x86 Assembly?

dozniak wrote:
Define "better".

Code:
#define BETTER

:mrgreen:

Author:  Love4Boobies [ Wed Mar 22, 2017 7:30 am ]
Post subject:  Re: Where can I learn x86 Assembly?

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).

Author:  starmanz [ Fri Mar 24, 2017 5:09 am ]
Post subject:  Re: Where can I learn x86 Assembly?

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.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/