eBooks-it.org Logo
eBooks-IT.org Inner Image

Introduction to 64 Bit Intel Assembly Language Programming for Linux

Introduction to 64 Bit Intel Assembly Language Programming for Linux Image

Book Details:

Publisher:CreateSpace Independent Publishing Platform
Series: CreateSpace
Author:Benjamin Ray Seyfarth
Edition:1
ISBN-10:1466470038
ISBN-13:9781466470033
Pages:252
Published:Oct 24 2011
Posted:Nov 19 2014
Language:English
Book format:PDF
Book size:4.89 MB

Book Description:

This book is an assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The book is intended as a first assembly language book for programmers experienced in high level programming in a language like C or C++. The assembly programming is performed using the yasm assembler (much like the nasm assembler) under the Linux operating system. The book primarily teaches how to write assembly code compatible with C programs. The reader will learn to call C functions from assembly language and to call assembly functions from C in addition to writing complete programs in assembly language. The gcc compiler is used for C programming. The book starts early emphasizing using the gdb debugger to debug programs. Being able to single-step assembly programs is critical in learning assembly programming. Highlights of the book include doing input/output programming using the Linux system calls and the C library, implementing data structures in assembly language and high performance assembly language programming. A companion web site has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs. Early chapters of the book rely on using the debugger to observe program behavior. After a chapter on functions, the user is prepared to use printf and scanf from the C library to perform I/O. The chapter on data structures covers singly linked lists, doubly linked circular lists, hash tables and binary trees. Test programs are presented for all these data structures. There is a chapter on optimization techniques and 3 chapters on specific optimizations. One chapter covers how to efficiently count the 1 bits in an array with the most efficient version using the recently-introduced popcnt instruction. Another chapter covers using SSE instructions to create an efficient implementation of the Sobel filtering algorithm. The final high performance programming chapter discusses computing correlation between data in 2 arrays. There is an AVX implementation which achieves 20.5 GFLOPs on a single core of a Core i7 CPU.

Download Link:

Related Books:

Guide to Assembly Language Programming in Linux

Guide to Assembly Language Programming in Linux Image
Introduces Linux concepts to programmers who are familiar with other operating systems such as Windows XP Provides comprehensive coverage of the Pentium assembly language. Processor designs can be broadly divided into CISC (Complex Instruction Set Computers) and RISC (Reduced Instruction Set Computers). The dominant processor in the PC market, Pentium, belongs to the CISC category, and Linux is fast becoming the number one threat to Microsoft Windows in the server market. This unique guidebook provides comprehensive coverage of the key elements of Assembly language programming, specifically targeting professionals and students who would like to learn Assembly and intend or expect to move to the Linux operating system. The book instructs users on how ...

Modern X86 Assembly Language Programming

32-bit, 64-bit, SSE and AVX
Modern X86 Assembly Language Programming Image
Modern X86 Assembly Language Programming shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 instruction set that are most relevant to application software development. The book's structure and sample code are designed to help the reader quickly understand x86 assembly language programming and the computational capabilities of the x86 platform. Book appendixes can be downloaded here: http://www.apress.com/9781484200650?gtmf=sMajor topics of the book include the following:32-bit core architecture, data types, internal registers, memory addressing modes, and the basic instruction setX87 core architecture, register stack, special purpose registers, floating-point encodings, and instruction setMMX technology ...

Linux Assembly Language Programming

Linux Assembly Language Programming Image
Master x86 assembly language from the Linux point of view! Assembly language lies at the boundary between hardware and software. While it can be described purely in terms of how it controls hardware, many of its features only make sense in the context of operating systems and programming languages. In Linux Assembly Language Programming, Bob Neveln explains all the key features of x86 assembly language in the context of the Linux operating system and the C language. The book's step-by-step, one-concept-at-a-time coverage is designed to help experienced hardware programmers move to Linux, and learn how to create Linux device drivers. As developers learn new x86 assembly language skills, they also gain "under the hood" insight into how Linux ...



2007 - 2021 © eBooks-IT.org