An Introduction to Writing 32-bit Applications Using the x86 Assembly


I am currently working on an x86 32-bit tutorial intended for people who already know imperative high level programming languages such as C/C++ and want to learn how to program in assembly. I tried to cover several operating systems (Windows, Linux, BSD) and various assemblers (MASM, FASM, NASM, gas) - I have to admit that the Linux/BSD part is a bit short so far. It is by far not done yet and I am looking for some constructive criticism. There are also a few errors in the document which have yet to be corrected. Frequent complaints are:

1. You use too much math "nobody understands" (lies!) to explain things such as positional notation
2. Several paragraphs are by far too long and need to get split up
3. The FPU section starts out with a far too complex example

Things that definitely have to get added:

-maybe a few words on MMX (but it's outdated so I don't want anybody to use it anyways)
-SSE/SIMD instructions
-explaining the x86 pipeline model of modern x86 microprocessors
-more material on how to optimize x86 assembly

Here is the site:




  • : 1. You use too much math "nobody understands" (lies!) to explain
    : things such as positional notation

    After a quick glance:
    The math you are using is not generally taught where I come from. To me it's simple (as simple as can be), but maybe try the following to make it more accessable to the general (programmer) public (particularly, programmer's that are learning it on their own):
    From what I saw in the part about the numeric system, rather than a Union operator, try just writing the collection as {0, 1, 2, ..., n} or {d0, d1, ..., dn}. Furtherly, most people aren't comfortable reading the sum-sign, even if they do essentially know what it means. Here too, writing the series is more understandable to most (1 + 2 + 4 + ...) rather than a Sum(...).
    Ofcourse, you could also not remove the math parts (cause math is cool!), but simply put it under it's own header (something like: "Mathematical Formalism").

    Best Regards,

    The way I see it... Well, it's all pretty blurry
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


In this Discussion