Read more about x86-64 Assembly Language Programming with Ubuntu

x86-64 Assembly Language Programming with Ubuntu

(2 reviews)

Ed Jorgensen, University of Nevada

Copyright Year: 2019

Publisher: Ed Jorgensen

Language: English

Formats Available

Conditions of Use

Attribution-NonCommercial-ShareAlike Attribution-NonCommercial-ShareAlike


Learn more about reviews.

Reviewed by Hassan Salmani, Associate Professor, Howard University on 12/14/20

The book presents a good coverage of x86-64 Assembly Language Programming. The book also provides some practical details regarding the execution of x86-64 instructions under the Ubuntu operating system. Further, each chapter of the book includes... read more

Reviewed by Mehrdad Nourai, Assistant Professor, Framingham State University on 6/13/20

The book seems to cover many details of x86-64 Assembly, however, it does not teach how to program. read more

Table of Contents

  • 1.0 Introduction
  • 2.0 Architecture Overview
  • 3.0 Data Representation
  • 4.0 Program Format
  • 5.0 Tool Chain
  • 6.0 DDD Debugger
  • 7.0 Instruction Set Overview
  • 8.0 Addressing Modes
  • 9.0 Process Stack
  • 10.0 Program Development
  • 11.0 Macros
  • 12.0 Functions
  • 13.0 System Services
  • 14.0 Multiple Source Files
  • 15.0 Stack Buffer Overflow
  • 16.0 Command Line Arguments
  • 17.0 Input/Output Buffering
  • 18.0 Floating-Point instructions
  • 19.0 Parallel Processing
  • 20.0 Interrupts
  • 21.0 Appendix A - ASCII Table
  • 22.0 Appendix B - Instruction Set Summary
  • 23.0 Appendix C - System Services
  • 24.0 Appendix D - Quiz Question Answers

Ancillary Material

  • Submit ancillary resource
  • About the Book

    The purpose of this text is to provide a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS). While the provided code and various examples should work under any Linux-based 64-bit OS, they have only been tested under Ubuntu 14.04 LTS (64-bit). The x86-64 is a Complex Instruction Set Computing (CISC) CPU design. This refers to the internal processor design philosophy. CISC processors typically include a wide variety of instructions (sometimes overlapping), varying instructions sizes, and a wide range of addressing modes. The term was retroactively coined in contrast to Reduced Instruction Set Computer (RISC3).

    About the Contributors


    Ed Jorgensen