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.
"synopsis" may belong to another edition of this title.
Dr. Seyfarth began his career as a scientific programmer in remote sensing and image processing at NASA in 1977, using Fortran and Assembly Language on a variety of 16 and 32 bit computers.
He earned his Ph.D. in Computer Science at the University of Florida in 1989. From 1990 until 2012 he has been a professor at the University of Southern Mississippi. He plans to retire after the Spring 2012 semester and devote more of his time to developing his assembly language textbook and pursue a variety of dreams.
At Southern Miss Dr. Seyfarth has taught Assembly Language, C, C++, Fortran, Algorithms, UNIX, Network Programming, Parallel Algorithms, Formal Languages, Compiler Theory and Computer Graphics using OpenGL. His recent research efforts have been in image processing and network server design.
Computers have reached the limits of 32 bit CPUs. Nearly any computer will run efficiently with 8 GB of RAM which requires using a 64 bit operating system.
The latest Intel and AMD CPUs have more registers and more capabilities when running in 64 bit mode. Achieving high performance using SSE and AVX instructions dictates using or writing code in assembly language.
If you know C or C++, this book will expand your skills while clarifying exactly what your compiler does with your code.
The book progresses from simple concepts to loops, functions, arrays, structs, system calls and using C library functions. Advanced features include data structures in assembly and examples of high performance programming using SSE and AVX instructions.
"About this title" may belong to another edition of this title.
FREE shipping within U.S.A.
Destination, rates & speedsSeller: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condition: Very Good. No Jacket. May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less 1. Seller Inventory # G1466470038I4N00
Quantity: 1 available
Seller: Zoom Books Company, Lynden, WA, U.S.A.
Condition: good. Book is in good condition and may include underlining highlighting and minimal wear. The book can also include "From the library of" labels. May not contain miscellaneous items toys, dvds, etc. . We offer 100% money back guarantee and 24 7 customer service. Seller Inventory # ZBV.1466470038.G
Quantity: 1 available