https://github.com/rushil-ambati/asm-hello-world
Hello World in x86 assembly.
https://github.com/rushil-ambati/asm-hello-world
assembly x86
Last synced: about 1 month ago
JSON representation
Hello World in x86 assembly.
- Host: GitHub
- URL: https://github.com/rushil-ambati/asm-hello-world
- Owner: rushil-ambati
- Created: 2020-06-02T21:13:46.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-03T18:00:01.000Z (about 5 years ago)
- Last Synced: 2023-08-01T23:29:56.464Z (almost 3 years ago)
- Topics: assembly, x86
- Language: Assembly
- Homepage:
- Size: 43 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hello World in Assembly
Dipping my feet into programming at a lower level of computer architecture by understanding and writing hello world in x86 assembly.
It's really interesting to see how programming closer to the CPU is different to higher level languages I'm familiar with.
All explanations are above the code in the `hello_world.asm` file.
Comments are also present throughout the code itself.
## Compilation and Usage
This is also outlined in the preamble before the code, but:
- To assemble (using nasm 32-bit, `sudo apt install nasm` on debian based systems):
```bash
nasm -f elf32 -o hello_world.o hello_world.asm
```
- To link (using ld, but you could use gcc instead if you wish):
```bash
ld -m elf_i386 -o hello_world hello_world.o
```
- To run, in the terminal:
```bash
./hello_world
```
That should yield `Hello World!`.
Screenshot:
