Skip to content

Blockky/x86-32-assembly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x86-32-assembly

This repository contains a collection of exercises and practices, developed during lab sessions of the course Estructura y Organización de Computadores (Computer Structure and Organization in Spanish), written in assembly language using the GNU Assembler (GAS, also known as as) and the GNU Linker (ld). It also makes use of tools like make for build automation and gdb for debugging.

Requirements

To work with these exercises, you need the following tools installed on your system:

  • GCC (GNU Compiler Collection)
  • GNU Binutils (includes GNU Assembler and Linker)
  • GDB (GNU Debugger)
  • Make (build automation tool)

Installing the Requirements

Below are the instructions to install the required tools on the most common GNU/Linux distributions:

Ubuntu / Debian

sudo apt update
sudo apt install build-essential gdb

Fedora

sudo dnf update
sudo dnf group install "Development Tools"
sudo dnf install gdb

Arch Linux / Manjaro

sudo pacman -Syu base-devel gdb

Installation for Other Distributions

Check your distribution's official documentation or use its package manager to install the required tools.

How to Use This Repository

  1. Clone this repository to your computer:

    git clone https://github.com/Blockky/x86-32-assembly.git
    cd x86-32-assembly
  2. Navigate through the practice files:

    cd src
    ls
    cd practice-name
  3. Build an example file using make:

    make
  4. Run the generated binary:

    ./example
  5. Debug your code with GDB (optional):

    gdb ./example
  6. Clean up the generated files:

    make clean

Enjoy working with this repository designed to improve your understanding of assembly language ^-^

About

x86 assembly programming (GAS/AT&T syntax) in Linux

Topics

Resources

License

Stars

Watchers

Forks