Assembly Language Step-by-Step: Programming with Linux
To program as I intend to teach, youâ€™re going to need an Intel x86-based computer running Linux. The text and examples assume at least a 386, but since Linux itself requires at least a 386, youâ€™re covered.
You need to be reasonably proficient with Linux at the user level. I canâ€™t teach you how to install and run Linux in this book, though I will provide hints where things get seriously non-obvious. If youâ€™re not already familiar with Linux, get a tutorial text and work through it. Many exist but my favorite is the formidable Ubuntu 8.10 Linux Bible, by William von Hagen. (Linux for Dummies, while well done, is not enough.) Which Linux distribution/version you use is not extremely important, as long as itâ€™s based on at least the version 2.4 kernel, and preferably version 2.6. The distribution that I used to write the example programs was Ubuntu version 8.10. Which graphical user interface (GUI) you use doesnâ€™t matter, because all of the programs are written to run from the purely textual Linux console. The assembler itself, NASM, is also a purely textual creature.
Where a GUI is required is for the Kate editor, which I use as a model in the discussions of the logistics of programming. You can actually use any editor you want. Thereâ€™s nothing in the programs themselves that requires Kate, but if youâ€™re new to programming or have always used a highly language-specific editing environment, Kate is a good choice.
The debugger I cite in the text is the venerable Gdb, but mostly by way of Gdbâ€™s built-in GUI front end, Insight. Insight requires a functioning XWindow subsystem but is not tied to a specific GUI system like GNOME or KDE.
You donâ€™t have to know how to install and configure these tools in advance, because I cover all necessary tool installation and configuration in the chapters, at appropriate times.
Note that other Unix implementations not based on the Linux kernel may not function precisely the same way under the hood. BSD Unix uses different conventions for making kernel calls, for example, and other Unix versions such as Solaris are outside my experience.
|May 30, 2020
How to Read and Open File Type for PC ?