This book provides an easy-to-understand, step-by-step approach to learning the fundamentals of Assembly language programming for Intel’s architectures, using a GNU/Linux-based computer as a tool. Offering students of computer science and engineering a hands-on learning experience, the book shows what actions the machine instructions perform, and then presents sample programs to demonstrate their application.
The book is suitable for use during courses on Microprocessors, Assembly language programming, and Computer Organization in order to understand the execution model of processors. This knowledge also helps strengthen concepts when students go on to study operating systems and compiler construction.
The concepts introduced are reinforced with numerous examples and review exercises.
An Instructor’s CD provides all the programs given in the book and the solutions to exercises.
Key Features
• Discusses programming guidelines and techniques of using Assembly language programs
• Shows techniques to interface C and Assembly language programs
• Covers instructions from general purpose instruction sets of IA32 processors
• Includes MMX and MMX-2 instructions
• Covers SSE and SSE-2 instructions
• Explains input-output techniques and their use in GNU/Linux-based computers
• Explains GNU/Linux system calls along with methods to use them in programs
• Provides a list of suggested projects
• Gives ample references to explore further