An Assembly language course written in Arabic to teach technicians and Cybersecurity specialists the basics of Assembly language in x86 and x64 architectures.
You can access the course via downloading the pdf file or accessing this URL https://caramel.la/j0e_binary/ZqVLVsf4Y/lghh-assembly-balarby
In this section we talked about what is assembly language and what is it used for and what types of architecture do we have.
We talked about data types such as WORD, DWORD, BYTE,etc. and this section is one of the most important aspects of assembly language
Register are small (really small!) storage places in the CPU that holds data or memory addresses, and in this section we discussed registers and why they are useful for us and what types of registers we have, and their job
This section discussed what is the stack. how does it work? why it is useful? and many more, we also talked about stack prologue and epilogue which are very useful to understand in case of reverse engineering or binary exploitation.
We talked about most used instructions such as ADD, SUB, MOV, etc., and control transfer instructions such as jmp, jle, jnz, etc. (conditional and unconditional).
In this section, we briefly discuss what are bitwise and logical operations, and give examples of most of the instructions used.