Assembly Language - Assembler Linker and Loader
Tuturu ohayo guys in the previous blog post we learnt about the segment registers. Now in this blog post we are going to see assembler linker and loader....
So what exactly are Assembler?
- Assembler is a program which converts the assembly language program into the machine code i.e binary code
- Examples :- MASM , NASM , FASM , TASM
- The above are some examples of the assemblers
Which Assemblers to use?
- The one we are going to use is the NASM (Net-wide Assembler) because it is the most popular easy to use for the Linux.
- Also we are learning Intel Assembly on Linux first then we will move to the windows.
- MASM (Micro Assember) and TASM (Turbo Assembler) are the one for the windows.
Then how to install the NASM?
- I have given the images regarding how to install it...
$ sudo apt install nasm
$ nasm --version
Linker:-
- As I said above that assemblers creates the machine code which means means an object file is created for that specific assembly program.
- So the linker simply takes multiple object files and link them into single module which is your final executable file.
- The object files may be program's machine code or C libraries etc.
Which Linker to use?
- Well the Linux already have a pre-installed linker know as the GNU-Linker.
$ ld --version
Loader:-
- Loader is the program which loads the executable from secondary memory (your HDD,SSD or whatever) to the primary memory (RAM).
I hope that you guys have understand the concepts. As it is just a overview of this cause we are going to see things we already talked in much detail in the reverse engineering section.
This is all the theory we need from next post we are going to code out first assembly program of hello world. So till then keep smiling ... :)
Assembly Language - Assembler Linker and Loader
Reviewed by h4kk4
on
March 31, 2020
Rating:
No comments:
Enter your comments here if you need any help: