In this short course, we will firstly introduce what is assembly language and machine language, the correspondence between them. Then we write our very first program in assembly language.
In order to run this program, we need a program called assembler to translate our assembly program to an object file, and then use another program called linker to transfer this object file to the executable file. We are going to do all of these on a Linux Distribution Ubuntu Desktop.
I will show you how to do all of these step by step. From installing the Linux Desktop, the most commonly used Linux commands, to the use of GNU assembler, GNU linker and objdump. And how to make a script file.
We also cover a bunch of concepts: hexadecimal, disassembly, instruction set architecture, booting, Power on Self Test, read only memory, legacy BIOS, master booting block, random access memory, interrupt and ASCII character etc..
We will see how to do the compilation of the source code of the Bochs and the installation, using the classical steps: configure, make, and make install. Eventually we will run our first program on Bochs.
I guarantee you will learn the basic usage of lots of Linux commands and programs, understand better over the low-level computer technical concepts. From there we have the ability to explore more over the computer operating system. See you.