https://github.com/fscotto/assembly_x86
Assembly x86 examples
https://github.com/fscotto/assembly_x86
assembly x86-assembly
Last synced: 10 months ago
JSON representation
Assembly x86 examples
- Host: GitHub
- URL: https://github.com/fscotto/assembly_x86
- Owner: fscotto
- License: mit
- Created: 2025-07-02T10:34:36.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-02T14:23:43.000Z (12 months ago)
- Last Synced: 2025-07-02T15:31:56.093Z (12 months ago)
- Topics: assembly, x86-assembly
- Language: Assembly
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🧠 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
- **Assembler:** [NASM (Netwide Assembler)](https://www.nasm.us/)
- **Linker:** `ld` (GNU Linker)
- **Target OS:** Linux (x86)
## ▶️ How to Compile and Run
Make sure you have `nasm` and `ld` installed. On Debian/Ubuntu:
```bash
sudo apt update
sudo apt install nasm
```
### Compile
```bash
nasm -f elf32 file.asm -o file.o
ld -m elf_i386 file.o -o file
```
or using script
```bash
./asmc32.sh file.asm
```
### Run
```bash
./file
```
### Full Example
```bash
./asmc32.sh helloworld.asm
./helloworld
```
## 📚 Intel Syntax
All source files use **Intel syntax**, where the **destination operand comes first**. For example:
```asm
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.