Skip to main content
Apress
Book cover

Learn to Program with Assembly

Foundational Learning for New Programmers

  • Book
  • © 2021

Overview

  • A unique contemporary programming for absolute beginners book that uses Assembly
  • Teaching programming using Assembly makes it easier to learn higher level languages later
  • Assembly programming remains popular topic, especially for maker applications like IoT

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (30 chapters)

  1. Assembly Language Basics

  2. Operating System Basics

  3. Programming Language Topics

Keywords

About this book

Many programmers have limited effectiveness because they don't have a deep understanding of how their computer actually works under the hood.  In Learn to Program with Assembly, you will learn to program in assembly language - the language of the computer itself. 


Assembly language is often thought of as a difficult and arcane subject.  However, author Jonathan Bartlett presents the material in a way that works just as well for first-time programmers as for long-time professionals.  Whether this is your first programming book ever or you are a professional wanting to deepen your understanding of the computer you are working with, this book is for you.  The book teaches 64-bit x86 assembly language running on the Linux operating system.  However, even if you are not running Linux, a provided Docker image will allow you to use a Mac or Windows computer as well.


The book starts with extremely simple programs to help you get your grounding, going steadily deeper with each chapter.  At the end of the first section, you will be familiar with most of the basic instructions available on the processor that you will need for any task.  The second part deals with interactions with the operating system.  It shows how to make calls to the standard library, how to make direct system calls to the kernel, how to write your own library code, and how to work with memory.  The third part shows how modern programming language features such as exception handling, object-oriented programming, and garbage collection work at the assembly language level.  


Additionally, the book comes with several appendices covering various topics such as running the debugger, vector processing, optimization principles, a list of common instructions, and other important subjects.


This book is the 64-bit successor to Jonathan Bartlett's previousbook, Programming from the Ground Up, which has been a programming classic for more than 15 years.  This book covers similar ground but with modern 64-bit processors, and also includes a lot more information about how high level programming language features are implemented in assembly language.


What You Will Learn
  • How the processor operates 
  • How computers represent data internally 
  • How programs interact with the operating system
  • How to write and use dynamic code libraries
  • How high-level programming languages implement their features 



Who This Book Is For
Anyone who wants to know how their computer really works under the hood, including first time programmers, students, and professionals.

Authors and Affiliations

  • Tulsa, USA

    Jonathan Bartlett

About the author

Jonathan Bartlett is a software developer, researcher, and writer. His first book, Programming from the Ground Up, has been required reading in computer science programs from DeVry to Princeton. He has been the sole or lead author for eight books on topics ranging from computer programming to calculus. He is a technical lead for ITX, where his specialty is getting stuck projects unstuck.

Bibliographic Information

Publish with us