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
Processor, memory and registers.
Describe shortly processor
Processor executes program instructions.
Describe shortly registers
Registers hold data and address.
Describe shortly memory
Storage for data. The transfer speed much higher than the speed of an HDD or SDD. The transfer speed is lower than the speed of registers.
What is a bit
The smallest unit of the storage is a bit, which can be ON (1) or OFF (0).
What is the name for a group of 8 bits?
Group of 8 related bits is name a byte.
External links
https://www.tutorialspoint.com/assembly_programming/index.htm