- This repository is mainly about the x86 version of the Assembly language.
- Tutorial playlist: Intro to x86 Assembly Language (32-bit x86 Assembly)
- Find Syscalls and which registers to use
man 2 <syscall_name>can also be used to find the functions definition of the Syscall.
# Use Netwide Assembler to compile assembly code to object file
$ nasm -f elf32 hello-world.asm -o hello-world.o
# Use GNU Linker to link object file and create an ELF (executable)
$ ld -m elf_i386 hello-world.o -o hello-world
# Execute the ELF
$ ./hello-world- 8-bit
AH,AL
- 16-bit
AX(AH:AL)
- 32-bit
EAX
- 64-bit
RAX
dborbyte- One byte
dworword- One word, i.e., two bytes
ddordword- Double word, i.e., four bytes
dqorqword- Quadruple word, i.e., eight bytes
filenmlddobjdumpstracereadelfgdbgf
- Assembly Language in 100 Seconds
- Intro to x86 Assembly Language (32-bit x86 Assembly)
- The faker's guide to reading (x86) assembly language
- Some Assembly Required
- x86 assembly doesn’t have to be scary (interactive)
- Web in Native Assembly (Linux x86_64)
- Brennan's Guide to Inline Assembly (AT&T vs Intel syntax)
- you can become a GALAXYBRAIN assembly programmers in 10 minutes
- godbolt.org
- Function calling in Assembly (Caller and Callee rules)
- Difference between
.a,.s,.Sand.asm - Find Syscalls and which registers to use
- ASCII Table
- Is it possible to use 32 bits registers/instructions in real mode?
- In x86 what's difference between "test eax,eax" and "cmp eax,0"
- Netwide Assembler (NASM)
- NASM vs GAS