Files
assembly_x86/README.md
Fabio Scotto di Santolo 332c858f02 Initial commit
2025-07-02 12:43:08 +02:00

1.6 KiB
Executable File

🧠 Assembly x86 Examples (32-bit) - Intel Syntax

This repository contains a collection of simple x86 32-bit assembly examples, written using Intel syntax. These examples are meant to help you learn and experiment with low-level programming concepts on the x86 architecture.

🛠 Toolchain Used

▶️ How to Compile and Run

Make sure you have nasm and ld installed. On Debian/Ubuntu:

sudo apt update
sudo apt install nasm

Compile

nasm -f elf32 file.asm -o file.o
ld -m elf_i386 file.o -o file

Run

./file

Full Example

nasm -f elf32 hello_world.asm -o hello_world.o
ld -m elf_i386 hello_world.o -o hello_world
./hello_world

📚 Intel Syntax

All source files use Intel syntax, where the destination operand comes first. For example:

mov eax, 1        ; Load 1 into eax
mov ebx, eax      ; Copy eax into ebx
mov ecx, [ebx]    ; Load into ecx the value at memory address stored in ebx

🧩 Requirements

  • 32-bit architecture or compatibility with elf32
  • Linux or a compatible environment with nasm + ld
  • Optional: QEMU or Docker for emulation on pure 64-bit systems

📝 License

This project is licensed under the MIT License. Feel free to study, modify, and reuse the code.

🤝 Contributing

Contributions, improvements, or new demos are welcome! Open an issue or a pull request 🚀


Made with ❤️ for low-level enthusiasts.