Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 6 days ago
JSON representation
Repository describing my short adventure of learning Assembly language
- Host: GitHub
- URL: https://github.com/wzslr321/asm_learning_tour
- Owner: wzslr321
- License: mit
- Created: 2021-01-27T10:11:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-24T21:55:37.000Z (over 3 years ago)
- Last Synced: 2023-03-08T21:07:28.355Z (over 1 year ago)
- Topics: assembly, assembly-language, guide, nasm
- Language: Assembly
- Homepage:
- Size: 69.3 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`