4 ms·
Yeesh, I can't read assembly. Is there somewhere I learn what all movsxd, lea, cmp, ja, and friends do in plain english?
by john-radio 7y ago
Yeesh, I can't read assembly. Is there somewhere I learn what all movsxd, lea, cmp, ja, and friends do in plain english?
- wilsonthewhale 7y agoThis online reference is helpful: https://www.felixcloutier.com/x86/index.html https://www.felixcloutier.com/x86/index.html For something more formal, the official Intel programming manuals describe what each instruction does in painstaking detail.
- squirrelmaker 7y agoNot sure plain, but still: http://kipirvine.com/asm/gettingstartedvs2010/ http://kipirvine.com/asm/gettingstartedvs2010/ https://software.intel.com/en-us/articles/intel-sdm https://software.intel.com/en-us/articles/intel-sdm
- slavik81 7y agoFollow the links in the article to the godbolt compiler explorer. The disassembly there has a short description of each instruction when you hover over it, and links to the full reference.
- matt_d 7y agoFocusing on x86-64 (don't waste your time starting with the 32-bit variant when learning, let alone x87 FPU instructions, there's plenty of up-to-date materials for contemporary architectures nowadays): - Chapter 10, Assembly Language (https://www3.nd.edu/~dthain/compilerbook/compilerbook.pdf#chapter.10 https://www3.nd.edu/~dthain/compilerbook/compilerbook.pdf#ch...) of http://compilerbook.org/ http://compilerbook.org/ - intro_x86-64: Introduction to x86_64 assembly - https://gitlab.com/mcmfb/intro_x86-64 https://gitlab.com/mcmfb/intro_x86-64 - Introduction to 64 Bit Assembly Language Programming for Linux and OS X - Ray Seyfarth - http://rayseyfarth.com/asm/ http://rayseyfarth.com/asm/ - Introduction to Computer Organization with x86-64 Assembly Language & GNU/Linux - Robert G. Plantz - http://bob.cs.sonoma.edu/IntroCompOrg-x64/book.html http://bob.cs.sonoma.edu/IntroCompOrg-x64/book.html - Modern X86 Assembly Language Programming - 2018; Daniel Kusswurm - Covers x86 64-bit, AVX, AVX2, and AVX-512 - https://github.com/Apress/modern-x86-assembly-language-programming-2e https://github.com/Apress/modern-x86-assembly-language-progr... - Understanding Assembly Language - a.k.a. Reverse Engineering for Beginners; https://yurichev.com/blog/UAL/ https://yurichev.com/blog/UAL/ - https://beginners.re/ https://beginners.re/ - x86-64 Assembly Language Programming with Ubuntu - Ed Jorgensen - http://www.egr.unlv.edu/~ed/x86.html http://www.egr.unlv.edu/~ed/x86.html - Assembly Programming and Computer Architecture for Software Engineers (APCASE) - https://github.com/brianrhall/Assembly https://github.com/brianrhall/Assembly - Videos: https://www.youtube.com/channel/UCr0svQEez3UQvlj6-5EYS6w https://www.youtube.com/channel/UCr0svQEez3UQvlj6-5EYS6w Or, if you prefer talks: - Just enough Assembly for Compiler Explorer - Anders Schau Knatten - NDC TechTown 2019 - https://www.youtube.com/watch?v=soeFwz0cOqU https://www.youtube.com/watch?v=soeFwz0cOqU - Modern x64 Assembly - https://www.youtube.com/playlist?list=PLKK11Ligqitg9MOX3-0tFT1Rmh3uJp7kA https://www.youtube.com/playlist?list=PLKK11Ligqitg9MOX3-0tF... - Bluff your way in x64 assembler - ACCU 2017; Roger Orr - https://www.youtube.com/watch?v=RI7VL-g6J7g https://www.youtube.com/watch?v=RI7VL-g6J7g - Enough x86 Assembly to Be Dangerous - CppCon 2017; Charles Bailey - https://www.youtube.com/watch?v=IfUPkUAEwrk https://www.youtube.com/watch?v=IfUPkUAEwrk More: - Arm / AArch64: https://github.com/MattPD/cpplinks/blob/master/assembly.arm.md https://github.com/MattPD/cpplinks/blob/master/assembly.arm.... - RISC-V: https://github.com/MattPD/cpplinks/blob/master/assembly.riscv.md https://github.com/MattPD/cpplinks/blob/master/assembly.risc... - x86: https://github.com/MattPD/cpplinks/blob/master/assembly.x86.md https://github.com/MattPD/cpplinks/blob/master/assembly.x86....