x86-64 Assembly Language Programming with Ubuntu
Ed Jorgensen, University of Nevada
Copyright Year: 2019
Read this book
Conditions of Use
The book seems to cover many details of x86-64 Assembly, however, it does not teach how to program. read more
The book seems to cover many details of x86-64 Assembly, however, it does not teach how to program.
The information I read was accurate.
In the field of computer science, some books can become outdated within a year. Considering new CPU are designed every year, this book may need to be updated yearly.
The book does seem to provide a good amount of context and technical information about CPU and hardware.
The book topics are consistent.
I am giving full score for this one, since the author did a great job of dividing concepts and information into logical sections.
Similar to Modularity, I am giving full score for organization of this book.
The interface is more or less fine.
I am giving 4 on this one, since some statements could a have been written a bit shorter.
I did not see any cultural insensitive issue.
Overall, it is a great reference book.
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
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