Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Introduction to 64 Bit Intel Assembly Language Programming for Linux

Buy
The Intel CPU architecture has evolved over 3 decades from a 1 6 bit CPU with no memory protection, through a period with 32 bit processors with sophisticated architectures into the current series of processors which support all the old modes of operation in addition to a greatly expanded 64 bit mode of operation. Assembly textbooks tend to focus on the history and generally conclude with a discussion on the 32 bit mode. Students are introduced to the concepts of 1 6 bit CPUs with segment registers allowing access to 1 megabyte of internal memory. This is an unnecessary focus on the past.

With the x86-64 architecture there is almost a complete departure from the past. Segment registers are essentially obsolete and more register usage is completely general purpose, with the glaring exception of the repeat-string loops which use specific registers and have no operands. Both these changes contribute to simpler assembly language programmmg.

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.

(HTML tags aren't allowed.)

iPhone with Microsoft Exchange Server 2010 - Business Integration and Deployment
iPhone with Microsoft Exchange Server 2010 - Business Integration and Deployment
Have you been tasked with getting iPhones into the hands of your business executives, and need to ensure they can reliably and securely access corporate e-mail? This book will teach you what you need to know about getting Exchange 2010 set up and then help you deploy iPhones in a secure and manageable way.

...
Risk Management and Value Creation in Financial Institutions
Risk Management and Value Creation in Financial Institutions
From an empirical as well as a personal point of view, risk management in the financial industry has been one of the most exciting and most researched areas over the last decade. Depositors and regulators claim that risk management is necessary, and many banks argue that superior risk management can create (shareholder) value. However, from a...
OpenGL SuperBible (3rd Edition)
OpenGL SuperBible (3rd Edition)
OpenGL SuperBible, Third Edition is a comprehensive, hands-on guide for Mac and Windows programmers who need to know how to program with the new version of OpenGL. This book will help readers master and expand their knowledge of 3D graphics programming and OpenGL implementation. Seasoned OpenGL programmers will also...

The Art of Sport
The Art of Sport
The Art of Sport is a book about sport, but not only this: it is also a book about the beauty, the unexpected, the grace, the anguish, the triumph and the pain of sport.

In this collection, Reuters photographers have captured the significance of moments in time. More often than not the photograph needs no caption: it tells its own story
...
Radio System Design for Telecommunication (Wiley Series in Telecommunications and Signal Processing)
Radio System Design for Telecommunication (Wiley Series in Telecommunications and Signal Processing)

Step-by-step tutorial to master current design techniques for wireless communication systems

The Third Edition of Radio System Design for Telecommunications brings this highly acclaimed book fully up to date with the latest technological advances and new applications. At the same time, the hallmarks of the previous...

The Dynamics and Complexities of Interracial Gay Families in South Africa: A New Frontier: Gay Relationships in South Africa (SpringerBriefs in Sociology)
The Dynamics and Complexities of Interracial Gay Families in South Africa: A New Frontier: Gay Relationships in South Africa (SpringerBriefs in Sociology)
This book provides an in-depth account of a qualitative study on the familial arrangements and domestic settings shaping interracial gay partnerships in the South African context, and it offers both empirical and theoretical insights on the topic. While heterosexual intimate relationships, particularly mixed-race couples, have attracted societal...
©2019 LearnIT (support@pdfchm.net) - Privacy Policy