Machine and assembly languages are used by computer programmers to communicate with the computer. Similar to other programming languages, these two uses coded syntax which commands the computer to perform and process data. To help you learn more about the two languages, here we bring to you 8 absolutely free ebooks. Happy reading!
Machine Language Programming Ebooks
1. x86 Disassembly: Exploring C, x86 Assembly, and Machine Code
Author(s) Wikibooks Contributors
Publisher: CreateSpace Independent Publishing Platform (September 15, 2011), eBook (update continuously)
The purpose of the book is to help the reader understand better about the relationship between x86 machine code, x86 Assembly Language, and the C Programming Language. As the introduction of the book says, “This book is going to look in-depth at the disassembly and decompilation of x86 machine code and assembly code. We are going to look at the way programs are made using assemblers and compilers, and examine the way that assembly code is made from C or C++ source code. Using this knowledge, we will try to reverse the process. By examining common structures, such as data and control structures, we can find patterns that enable us to disassemble and decompile programs quickly.”
2. The Art of Assembly Language
Author(s) Randall Hyde
Publisher: No Starch Press; 1 edition (September 2003); 2 edition (March 22, 2010)
This book is aimed towards the high level programmers and ideal for you if you are willing to write meaningful programs in least of time. The High Level Assembler (HLA) that comes in the book helps you to write portable assembly language programs which can run under both Linux or Windows simple with a recompile.
3. Assembly Language Succinctly
Author(s) Chris Rose
Publisher: Syncfusion Inc. (2013)
The book helps the reader understand how to write x64 assembly for modern CPUs. The book gradually processes from writing inline assembly for 32-bit applications, to writing native assembly meant for the C++ projects. As the introduction of the book says, “You’ll learn the basics of memory spaces, data segments, CISC instructions, SIMD instructions, and much more.
Whether you’re working with Intel, AMD, or VIA CPUs, you’ll find this book a valuable starting point since many of the instructions are shared between processors.”
4. Programming from the Ground Up: using Linux Assembly Language
Author(s) Jonathan Bartlett
Publisher: Bartlett Publishing (July 1, 2004)
The book makes use of Linux assembly language in order to explain the most important concepts of programming to the newbie programmers. According to the book’s introduction, it is a step-by-step guide that takes you through the concepts like, “how the processor views memory, how the processor operates, how programs interact with the operating system, how computers represent data internally, how to do low-level and high-level optimization and how their computer really works.”
5. MIPS Assembly Language Programming Using QtSpim
Author(s) Ed Jorgensen
Publisher: University of Nevada, Las Vegas 2013
The books aim to give free and easy reference to high-level programming and architecture units, including sections on MIPS assembly language. The book makes use of the QtSpim simulator. An includes an appendix which covers the downloading, installation, and basic use of the simulator. As mentioned in the book’s introduction, “The scope of this text addresses basic MIPS assembly language programming including instruction set basics, stack, procedure/function calls, QtSpim simulator system services, multiple dimension arrays, and basic recursion.”
6. Programmed Introduction to MIPS Assembly Language
Author(s) Bradley Kjell
Publisher: Central Connecticut State University (August, 2007)
The book brings to its readers assembly and its role in computer programming and design. It is majorly focused on protected-mode Pentium programming, MIPS assembly language programming, and how NASM and SPIM assemblers can be utilized for Linux orientated programs. According to the book’s introduction, “The focus is on providing students with a firm grasp of the main features of assembly programming, and how it can be used to improve a computer’s performance. All of the main features are covered in depth, and the book is equally viable for DOS or Linux, MIPS (RISC) or CISC (Pentium). The book is based on a successful course given by the author and includes numerous hands-on exercises.”
7. Beginners Introduction to the Assembly Language of ATMEL-AVR-Microprocessors
Author(s) Gerhard Schmidt (2011)
Publisher: Unkown
This book uses a step-by-step methodology to cover the Assembly language programming of Atmel AVR microcontrollers. Assembly language is used in peripheral programming. As the introduction of the book says, “It offers a systematic approach in programming and interfacing of the Atmel AVR with LCD, keyboard, ADC, DAC, Sensors, Serial Ports, Timers, DC and Stepper Motors, Opto-isolators, and RTC.”
8. ARM Assembly Language Programming
Author(s) Peter J. Cockerell
Publisher: Unkown
The book takes a close look on the hardware and peripherals codes found in the microcontrollers today and examines the situations the programmers have to encounter. It comes with excellent and carefully chosen examples that helps the reader to significantly streamline the embedded system codes.
Here are more Free eBooks for Electronics!
The writer is a senior correspondent at EFY, Gurgaon