Only the x86 instruction set is mostly described here.
Basics
What is Assembly Language
Assembly language is a low-level programming language for a computer or other programmable device.
What is the difference between the Assembly language and high-level programming languages
Each assembly languages is specific for a given computer architecture (instruction set).
High level programming language are mostly portable across multiple systems.
How is the source code of an high-level programming language converted to the executable machine code
Via a Compiler
How is the source code of an assembly language converted to the executable machine code
Via an Assembler
List examples of some assemblers
NASM, MASM.
Why Assembly languages exist?
Each computer has a microprocessor with arithmetical, logical and control activities.
Each family of processors has its own set of instructions.
Processors understands only machine language instructions, which are ones and zeros. But develop software only using ones and zeros is too hard and complex. As the solution there are the assembly languages for each the instruction sets, instructions are represented with symbolic code and a more understandable form.
Advantages of understanding the assembly language
You will know:
- How applications communicate with the operating system, processor and BIOS
- The ways, data is represented in memory and other external devices
- Access and execution of instructions by the processor
- Access and processing data by instructions
Advantages of the assembly language
Less RAM
Less execution time
Suitable for time-critical jobs
External links
https://www.tutorialspoint.com/assembly_programming/index.htm