x86-64 Assembly Language Programming with Ubuntu
by Ed Jorgensen
Publisher: University of Nevada, Las Vegas 2016
Number of pages: 367
The purpose of this text is to provide a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS).
Home page url
Download or read it online for free here:
by Randall Hyde - No Starch Press
Presents assembly language from the high-level point of view, so you can start writing meaningful programs within days. This is the most-often recommended book on 80x86 assembly language programming in newsgroups, on web sites, and by word of mouth.
by Paul A. Carter
The book discusses how to program the 80386 and later processors in protected mode. The tutorial has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood.
by Charles W. Kann - Gettysburg College
This book introduces students to assembly language programming in MIPS. It covers basic operators and instructions, subprogram calling, loading and storing memory, program control and the conversion of the assembly language program into machine code.
by Dennis Yurichev - yurichev.com
Here are some of my notes about reverse engineering in English language for those beginners who would like to learn to understand x86 (which accounts for almost all executable software in the world) and ARM code created by C/C++ compilers.