Assemblers And Loaders
by David Salomon
Publisher: Prentice Hal 1993
Number of pages: 299
Covering the design and implementation of assemblers and loaders, this comprehensive book opens with an introduction to one-pass and two-pass assemblers. Important concepts such as absolute and relocatable object files are discussed, as are assembler features such as local labels and multiple location counters. The format, meaning and implementation of many directives are look at in detail, and the important topics of macros and conditional assembly are introduced. The latter part of the book is concerned with the listing file, the properties of disassemblers and a look at three special types of assemblers. The book closes with a chapter on loaders and includes a very detailed example of the basic operation of a one-pass linking loader, together with other features and concepts such as dynamic loading, bootstrap loaders, and overlays.
Home page url
Download or read it online for free here:
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 Ed Jorgensen - University of Nevada, Las Vegas
This text provides a reference for University level assembly language and systems programming courses. Specifically, it addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS).
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.