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.
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)
Below are the instructions to install the required tools on the most common GNU/Linux distributions:
sudo apt update
sudo apt install build-essential gdbsudo dnf update
sudo dnf group install "Development Tools"
sudo dnf install gdbsudo pacman -Syu base-devel gdbCheck your distribution's official documentation or use its package manager to install the required tools.
-
Clone this repository to your computer:
git clone https://github.com/Blockky/x86-32-assembly.git cd x86-32-assembly -
Navigate through the practice files:
cd src ls cd practice-name
-
Build an example file using
make:make
-
Run the generated binary:
./example
-
Debug your code with GDB (optional):
gdb ./example
-
Clean up the generated files:
make clean
Enjoy working with this repository designed to improve your understanding of assembly language ^-^