Welcome to linuxnasm.be

This website is arguably the most boring website on the internet and unless you are looking for working examples in assembly language whether or not in combination with C and C++, you probably won't find what you're looking for here. Yet assembly language is not really dead, understanding the workings of higher programming languages, debuggers, even hardware (down to the CPU) make it interesting to learn assembly language.  All programs are made and tested on Debian 10 buster (should there be references on this webpage towards Linux Mint, that I've forgot to update, just read "Debian".)  There was no reason for this change but beginning users I advise to start with an Ubuntu based distribution.  In time you can change to whatever distribution. As long as it's a Debian based you're good (for other distrs you need the internet whenever there are troubles).  Generally spoken: assembly language works on any computer as long as the cpu is the correct one.  Applications only work on the operating system they are written for.

Why assembly language?

That's a question like: "Why do you like to make your burgers yourself while you can buy them in a store."  I like to make my burgers myself.  I like to program in assembly language.  It's not more difficult than any other programming language. (If you're not convinced try object oriented programming in let's say Eiffel or Python or ...)  I like assembly language programming, no need to mention that otherwise I think it should be strange to make this website.

Why this website?

Initially I wasn't the intend to build a website anyway.  The time it takes is better spent on programming and read information about newer systems, other operating systems, hardware etc...  In time I thought it useful to put my tests as examples on the internet for myself as a reference.  In the mean other interested people can benefit (I hope) of my efforts.  There aren't too many examples available on the internet dealing with assembly language.  In fact there are but many are outdated and do not even work on newer systems so I 've decided to put my experiments online in the hope of helping others in their study of assembly language programming at school, college, university, ...

As time evolves, so do operating systems and programming tools.  I started this website with nasm version 2.10 if I'm not wrong, now I use the latest version 2.15.
I finally found the long awaited best IDE ever (my opinion) to use for my examples Qt6.  Although assembly programs can be build from almost nothing, just a text editor suffice, it's nice to have an IDE that can deal with a text editor with syntax highlighting, project configuration and build possibility (not native)) and most important a debugger that combines source code and opcode together even in combination with C and C++ programs.
At the beginning I was curious about using cmake and autotools for the development but found it more administration than just plain command line commands and make.  For larger projects one can choose for cmake and autotools however.

This site is not a point of contact for your homework.  Most exercices don"t have my interest and I'm too busy for that.  Unless you are willing to give your salary to me when you are graduated.  By practicing yourself you will learn a lot more, believe me.  I started on a Commodore 64 at the age of 16 in Basic.  I've tried Pascal but being an electrotechnical student I rather was interested in assembly language. There was no Google, Facebook, Instagram only a lot of experimenting and searching.  One advice: Just try and use Google, Stackoverflow, ... and read sources from other programmers (I don't call myself a programmer however).