Skip to content

This repo contains notes and programs i wrote while learning to write programs in x86 asm

License

Notifications You must be signed in to change notification settings

jspmic/learn-x86_asm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn x86 Assembly

This repository contains my notes and programs as I explore x86 assembly language, guided by the book Programming from the Ground Up by Jonathan Bartlett.

Description

Assembly language is a key to understanding how computers work at the hardware level. This repository serves as a record of my learning journey, with:

  • Notes: summarizing concepts and examples of each chapter from the book.
  • Programs: written from exercises in the book.
  • Personal programs: I wrote to deepen my understanding of x86 assembly concepts.

Structure

The repository is organized as follows:

  • notes/: Contains detailed notes and explanations from Programming from the Ground Up.
  • src/: Assembly programs written as exercises or examples from the book.
  • src/personnal: Programs I created to experiment with and reinforce the concepts.

Prerequisites

To run the programs in this repository, you'll need:

  • GNU Assembler (as): Install via your package manager (e.g., sudo pacman -S binutils for Arch Linux).
  • Linker (ld): Part of the GNU Binutils package.

Usage

  1. Clone the repo:
    git clone https://github.com/jspmic/learn-x86_asm.git
    cd learn-x86_asm
  2. Build the project: make
  3. Run the program(e.g ./build/factorial)

Resources

Why Learn Assembly?

Understanding assembly provides insights into:

  • How high-level languages interact with hardware.
  • Optimization techniques for low-level systems.
  • The inner workings of compilers and operating systems.

Contributing

While this repository is primarily for personal learning, feel free to:

  • Submit suggestions or corrections via pull requests.
  • Open issues to discuss assembly concepts.

License

This repository is licensed under the MIT License.

About

This repo contains notes and programs i wrote while learning to write programs in x86 asm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published