Skip to content

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
CC BY-NC-SA

Reviews

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

Author

Ed Jorgensen

Contribute to this Page

Suggest an edit to this book record