
Assembly Language Programming with Ubuntu – 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).
Recommended
- Fundamentals of Computer Programming With C# PDF
- Artificial Intelligence: A Modern Approach PDF
- Build Your Own AngularJS PDF
- HTML5 game Development With ImpactJS by Davy and Arno
- Learning Python By Mark Lutz PDF
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
Related: How to Think Like a Computer Scientist: C Version
About the Contributors
Author
Ed Jorgensen