Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wzslr321/asm_learning_tour

Repository describing my short adventure of learning Assembly language
https://github.com/wzslr321/asm_learning_tour

assembly assembly-language guide nasm

Last synced: about 1 month ago
JSON representation

Repository describing my short adventure of learning Assembly language

Awesome Lists containing this project

README

        

This repository shows my learning tour with Assembly language

It includes:

- Assembly code with comments explaining every instruction
- Every file has also its compiled and ready to run version.
- Online learning materials I've studied with
- My personal notes


Below you can also find repository tree and my environment setup and workflow.

---


Found it useful? Want more updates?


Show your support by giving a :star:

---

My environment


I use Archlinux so all commands below may be specific for this OS.

My code editor is Neovim with config files mostly based on ChrisAtMachine's

For better window management I use Terminator and zsh shell with prompt off for better clarity and auto-suggestions.

To compile .asm files I use:

- NASM: `nasm -f elf32 -o hello_world.o hello_world.asm`
- LD : `ld -m elf_i386 -o hello_world hello_world.o`

Debugger : GDB I also tried Radare2 , but it didn't suit me.

man-pages for quick access to a command description

- Install: `sudo pacman -Sy man-pages`
- Use: `man page_name`, for example `man 2 write`

unistd32.h file, located with mlocate

- `sudo pacman -Sy mlocate` // -Sy is important here, if you omit that you probably will have to run `sudo ionice -c3 updatedb`
- `locate unistd_32.h`
- With a file located just display it, ( for me ) `nvim /usr/include/asm/unistd_32.h`