Login       My Wishlist
  My Cart
$0.00 / 0 items
 
EMS Linux
Utilizing the Best Tools With Linux
 
International Access
Global Shipping Options Available
Home About Us News Our Blog Our Catalog My Cart My Account Track Shippment Contact Us
  Our Catalog   Languages & Tools   Assembly Language Programming

Introduction to 64 Bit Assembly Programming for Linux and OS X: Third Edition - for Linux and OS X


Introduction to 64 Bit Assembly Programming for Linux and OS X: Third Edition - for Linux and OS X by CreateSpace Independent Publishing Platform at EMS Linux. Hurry! Limited time offer. Offer valid only while supplies last. This is the third edition of this assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The primary


Product Description

This is the third edition of this assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The primary addition to the third edition is the discussion of the new version of the free integrated development environment, ebe, designed by the author specifically to meet the needs of assembly language programmers. The new ebe is a C++ program using the Qt library to implement a GUI environment consisting of a source window, a data window, a register, a floating point register window, a backtrace window, a console window, a terminal window and a project window along with 2 educational tools called the "toy box" and the "bit bucket". The source window includes a full-featured text editor with convenient controls for assembling, linking and debugging a program. The project facility allows a program to be built from C source code files and assembly source files. Assembly is performed automatically using the yasm assembler and linking is performed with ld or gcc. Debugging operates by transparently sending commands into the gdb debugger while automatically displaying registers and variables after each debugging step. Additional information about ebe can be found at http://www.rayseyfarth.com. The second important addition is support for the OS X operating system. Assembly language is similar enough between the two systems to cover in a single book. The book discusses the differences between the systems. 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 automatically from the ebe IDE 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 internally to compile C programs. The book starts early emphasizing using ebe to debug programs, along with teaching equivalent commands using gdb. Being able to single-step assembly programs is critical in learning assembly programming. Ebe makes this far easier than using gdb directly. 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. 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. A companion web site, http://www.rayseyfarth.com, has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs.

Additional Information

Manufacturer:CreateSpace Independent Publishing Platform
Publisher:CreateSpace Independent Publishing Platform
Studio:CreateSpace Independent Publishing Platform
EAN:9781484921906
Item Weight:0 pounds
Item Size:0.61 x 9.21 x 9.21 inches
Package Weight:1.08 pounds
Package Size:6.14 x 0.61 x 0.61 inches

Introduction to 64 Bit Assembly Programming for Linux and OS X: Third Edition - for Linux and OS X by CreateSpace Independent Publishing Platform

Buy Now:
Introduction to 64 Bit Assembly Programming for Linux and OS X: Third Edition - for Linux and OS X

Brand: CreateSpace Independent Publishing Platform
Condition: New
Lead Time: 1 - 2 Business Days
Availability: In Stock
$23.95


Quantity:  

 


 


Have questions about this item, or would like to inquire about a custom or bulk order?


If you have any questions about this product by CreateSpace Independent Publishing Platform, contact us by completing and submitting the form below. If you are looking for a specif part number, please include it with your message.

First Name:
Last Last:
Email Address:
Your Message:

Related Best Sellers


mpn: black & white illustrations, ean: 9781492135289, isbn: 1492135283,
Raspberry Pi Assembly Language RASPBIAN Beginners [THIRD EDITION] is your hands-on guide to learning to program ARM machine code on your Raspberry Pi. This book covers Raspberry Pi 3, 2, 1 and Zero. With nothing other than the Raspbian Operating Syst...

ean: 9781593272074, isbn: 1593272073,
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly...

mpn: black & white illustrations, ean: 9781782166924, isbn: 1782166920,
Get to grips with LLVM essentials and use the core libraries to build advanced toolsAbout This Book Learn how to configure, build, and use LLVM and Clang based tools Explore the depths of the LLVM front-end, IR, code generator, and libraries, and lea...

ean: 9781680958805, isbn: 1680958801,

ean: 9780997925906, isbn: 0997925906,
Who uses ARM? Currently ARM CPU is licensed and produced by more than 200 companies and is the dominant CPU chip in both cell phones and tablets. Given its RISC architecture and powerful 32-bit instructions set, it can be used for both 8-bit and 32-b...

ean: 9781593270032, isbn: 1593270038,
If you've asked someone the secret to writing efficient, well-written software, the answer that you've probably gotten is "learn assembly language programming." By learning assembly language programming, you learn how the machine really operates and ...

ean: 9780470497029, isbn: 0470497025,
The eagerly anticipated new edition of the bestsellingintroduction to x86 assembly language The long-awaited third edition of this bestselling introductionto assembly language has been completely rewritten to focus on32-bit protected-mode Linux and t...

ean: 9780982692660, isbn: 0982692668,
Significant changes in the third edition include updated serial communication description (UART, SPI, and I2C), new serial communication examples, incorporation of GNU gcc compiler, low power modes, modification of example programs from STM32L1 (Cort...

By Sra
sku: GD-032-27-0528500, ean: 9780574214379, isbn: 0574214372,

ean: 9780940325203, isbn: 0940325209,



Privacy Policy / Terms of Service
© 2018 - emslinux.com. All Rights Reserved.