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

https://github.com/funnydman/nasm-assembly-examples

Some of my notes, books, code listings for asembler studying. Enjoy!
https://github.com/funnydman/nasm-assembly-examples

asm assembler assembly-language assembly-x86 nasm nasm-assembly

Last synced: 10 months ago
JSON representation

Some of my notes, books, code listings for asembler studying. Enjoy!

Awesome Lists containing this project

README

          

# nasm-assembly-examples

## Resources

### Learn assembly (mostly NASM)
0) [NASM Tutorial <- Start here](https://cs.lmu.edu/~ray/notes/nasmtutorial/)
1) [NASM - The Netwide Assembler](https://www.nasm.us/doc/)
2) [Assembly Language for x86 Processors | Kip Irvine](https://www.amazon.com/dp/1782167102)
3) [Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture | Igor Zhirkov](https://www.amazon.com/-/es/Igor-Zhirkov/dp/1484224027/ref=sr_1_2?__mk_es_US=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=1HVS6XSBLBXN6&keywords=nasm+assembly&qid=1664734729&qu=eyJxc2MiOiIxLjkxIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&s=books&sprefix=nasm+assembly%2Cstripbooks-intl-ship%2C176&sr=1-2)
4) [Reverse Engineering for beginners (open-source book) | Dennis Yurichev](https://beginners.re/)
5) [http://www.stolyarov.info/books/asm_unix (russian)](http://www.stolyarov.info/books/asm_unix)
6) [https://www.ozon.ru/context/detail/id/4579142/ (russian)](https://www.ozon.ru/context/detail/id/4579142/)
7) [xchg_rax|advanced Assembler](https://www.xorpd.net/pages/xchg_rax/snip_00.html)
8) [xorpd-solutions](https://github.com/funnydman/xorpd-solutions)
9) [PC Assembly Language | Paul A. Carter](http://pacman128.github.io/pcasm/)
10) [x86_64 Linux Assembly | Video Course](https://www.youtube.com/watch?v=vXsUIX_Ozgc&list=PLetF-YjXm-sCH6FrTz4AQhfH6INDQvQSn&index=11)

---
### Linux & C & binary analysis, and how it works
1) [x86 and amd64 instruction reference](https://www.felixcloutier.com/x86/index.html)
2) [Linux insides](https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-2.html)
3) [Deep C (and C++)](https://www.slideshare.net/olvemaudal/deep-c/22-What_will_happen_if_you)
4) [Learning Linux Binary Analysis](https://www.amazon.com/dp/1782167102)
5) [System V Application Binary Interface AMD64 Architecture Processor Supplement](https://www.intel.com/content/dam/develop/external/us/en/documents/mpx-linux64-abi.pdf)
6) [Linux Standard Base, Specifications Archive](https://refspecs.linuxfoundation.org/lsb.shtml)
---

### Binary hacking (radare2, gdb, ...)
0) [The Official Radare2 Book](https://book.rada.re/)
1) [radare2 | First r2babies steps - Long Version](https://www.itrust.lu/wp-content/uploads/2015/11/news_Radare2-Presentation.pdf)
2) [Optimizing subroutines in assembly language, An optimization guide for x86 platforms](https://www.agner.org/optimize/optimizing_assembly.pdf)
3) [Hacking: The Art of Exploitation, 2nd Edition | Jon Erickson](https://www.amazon.com/Hacking-Art-Exploitation-Jon-Erickson/dp/1593271441)
4) [Reversing: Secrets of Reverse Engineering | Eldad Eilam](https://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817)
5) [8 gdb tricks you should know](https://blogs.oracle.com/linux/post/8-gdb-tricks-you-should-know)

---

### OS development
1) [Making an OS (x86) | Playlist](https://www.youtube.com/playlist?list=PLm3B56ql_akNcvH8vvJRYOc7TbYhRs19M)

### References that you might find helpful
1) [Linux syscalls table](http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)
2) [Searchable Linux Syscall Table for x86 and x86_64](https://filippo.io/linux-syscall-table/)
3) [Complete 8086 instruction set](https://yassinebridi.github.io/asm-docs/8086_instruction_set.html#top1)
4) [BIOS Interrupt Jump Table](http://www.ctyme.com/intr/int.htm)

### RISC
1) [Assemblers, Linkers, and Loaders Hakim Weatherspoon CS 3410 Computer Science Cornell University](https://www.cs.cornell.edu/courses/cs3410/2019sp/schedule/slides/11-linkload-notes-bw.pdf)
2) [Digital Design and Computer Architecture RISC-V Edition](https://www.amazon.com/Digital-Design-Computer-Architecture-RISC-V/dp/0128200642)
3) [Digital Design and Computer Architecture: RISC-V Edition, resources](http://pages.hmc.edu/harris/ddca/ddcarv.html)
4) [RISC-V Instruction Formats, Instructor: Steven Ho](https://inst.eecs.berkeley.edu/~cs61c/resources/su18_lec/Lecture7.pdf)
5) [RISC-V Online Assembler](https://riscvasm.lucasteske.dev/#)

### books
1) [But How Do It Know? - The Basic Principles of Computers for Everyone | Clark Scott](https://www.amazon.com/But-How-Know-Principles-Computers/dp/0615303765)

### Tools
1) [Simple crossplatform IDE for NASM, MASM, GAS, FASM assembly languages](https://dman95.github.io/SASM/english.html)

---
### Other
- [6502 Instruction Set](https://www.masswerk.at/6502/6502_instruction_set.html#LDA)

#### Some articles about static and dynamic linking
- http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
- http://www.tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
- https://amir.rachum.com/blog/2016/09/17/shared-libraries/
- https://renenyffenegger.ch/notes/development/languages/C-C-plus-plus/GCC/create-libraries/index
- https://littleosbook.github.io/