This repository contains a comprehensive ASM (NASM) learning course in both English and French. The course is designed to help beginners understand and practice assembly language programming.
- File:
asm_course_en.md - Content: Detailed theory, exercises, questions, and documentation in English.
- File:
asm_course_fr.md - Content: Detailed theory, exercises, questions, and documentation in French.
- File:
asm_exercises.md - Content: A collection of exercises and their solutions to reinforce learning.
- Basic understanding of programming concepts.
- Familiarity with command line interfaces.
- NASM (Netwide Assembler) installed on your system.
- Install NASM: Follow the instructions in the course to install NASM on your system.
- Choose Your Language: Select either the English or French version of the course.
- Read the Theory: Start with the introduction to assembly language and work your way through the sections.
- Practice Exercises: Complete the exercises provided in the
asm_exercises.mdfile. - Review Questions: Test your understanding with the review questions at the end of each section.
- Introduction to Assembly Language: Learn what assembly language is and why it's important.
- Setting Up the Environment: Install NASM and set up your development environment.
- Basic Syntax and Structure: Understand the basic syntax and structure of assembly language.
- Data Types and Registers: Learn about data types and registers in assembly language.
- Basic Instructions: Explore basic instructions like moving data, arithmetic operations, and logical operations.
- Memory Addressing: Understand different memory addressing modes.
- Functions and Procedures: Learn how to define and call functions in assembly language.
- Working with the Stack: Understand how to use the stack for data storage and function calls.
- Input and Output: Learn how to read input and write output using system calls.
- Debugging and Tools: Discover debugging techniques and tools like GDB.
- Practical Exercises: Complete hands-on exercises to reinforce your learning.
- Review Questions: Test your understanding with review questions.
- Detailed Documentation: Access detailed documentation on instructions, registers, memory management, and system calls.
Contributions are welcome! If you have any suggestions, improvements, or additional exercises, please feel free to contribute.
This course is licensed under the MIT License.
If you have any questions or need further assistance, please feel free to contact us.
Happy learning!
Made by @FauZaPespi with <3
PS: I use Mistral to correct & help me sometimes while I was creating these documents. don't shame me