Deliver toUnited Arab Emirates
Learn to Program with Assembly: Foundational Learning for New Programmers

Description:

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 ForAnyone who wants to know how their computer really works under the hood, including first time programmers, students, and professionals.


Editorial Reviews

From the Back Cover

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

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.

Reviews:

5.0 out of 5 stars A great introduction to assembly language

A. · December 24, 2021

A lot of the material was review for me, but it was much needed review, since I hadn’t covered it since college (a decade ago). I like that it used real world examples and a real assembly language instead of the toy languages I’d learned in school.

2.0 out of 5 stars Sample code uses AT&T syntax on Unix/Linux

B. · September 13, 2025

I was impressed by other reviews. I have played with assembly language by watching YouTube videos and using Visual Studio to compile their code. I thought this book (Learn to Program with Assembly by Jonathan Bartlett) would help me learn more. I spent several hours trying to run the first code sample (myexit.s) receiving errors every time I compiled the program. I then noticed that it was written for Unix/Linux, but I could use the 'Docker' utility. So, another hour installing/learning the 'Docker' utility which failed to install. So, I found a way to run linux (ubuntu on a Windows subsystem) and the code finally compiled using the 'as' compiler used in the book. I then noticed that the syntax used was not even close to what my other example (YouTube) code was using. After more research, I found out that the book uses AT&T syntax whereas my code (and most commonly used syntax) was using the Intel syntax. Directives and order of operands are completely different between the two. There should be a 'Requirements' section to the book description stating it uses AT&T syntax for Unix/Linux. The book is completely worthless to me. But, since I'm sure there are others using the syntax used in the book and are on a Unix/Linux system, I am giving this book 2 stars.

Super interesting!

M.L. · April 22, 2024

The book is very simple to understand and definitely helps to get a better mental picture of how computers work at the deepest level. A must read for any coder.

Excellent book

i. · June 28, 2022

The book is targeted to beginners in assembly programming for x86-64. I used it to learn about 64 assembly programming.

Learn to Program with Assembly: Foundational Learning for New Programmers

Product ID: U1484274369
Condition: New

4.2

AED27331

Price includes VAT & Import Duties
Type: Paperback
Availability: In Stock

Quantity:

|

Order today to get by 7-14 business days

This item qualifies for free delivery

Returns & Warranty policies

Imported From: United States

At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.

BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.

Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.

If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.

Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.

All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.

While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.

Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.

BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.

All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.

All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.

Similar suggestions by Bolo

More from this brand

Similar items from “Software Development”

Learn to Program with Assembly: Foundational Learning for New Programmers

Product ID: U1484274369
Condition: New

4.2

Learn to Program with Assembly: Foundational Learning for New Programmers-0
Type: Paperback

AED27331

Price includes VAT & Import Duties
Availability: In Stock

Quantity:

|

Order today to get by 7-14 business days

This item qualifies for free delivery

Returns & Warranty policies

Imported From: United States

At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.

BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.

Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.

If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.

Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.

All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.

While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.

Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.

BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.

All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.

All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.

Description:

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 ForAnyone who wants to know how their computer really works under the hood, including first time programmers, students, and professionals.


Editorial Reviews

From the Back Cover

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

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.

Reviews:

5.0 out of 5 stars A great introduction to assembly language

A. · December 24, 2021

A lot of the material was review for me, but it was much needed review, since I hadn’t covered it since college (a decade ago). I like that it used real world examples and a real assembly language instead of the toy languages I’d learned in school.

2.0 out of 5 stars Sample code uses AT&T syntax on Unix/Linux

B. · September 13, 2025

I was impressed by other reviews. I have played with assembly language by watching YouTube videos and using Visual Studio to compile their code. I thought this book (Learn to Program with Assembly by Jonathan Bartlett) would help me learn more. I spent several hours trying to run the first code sample (myexit.s) receiving errors every time I compiled the program. I then noticed that it was written for Unix/Linux, but I could use the 'Docker' utility. So, another hour installing/learning the 'Docker' utility which failed to install. So, I found a way to run linux (ubuntu on a Windows subsystem) and the code finally compiled using the 'as' compiler used in the book. I then noticed that the syntax used was not even close to what my other example (YouTube) code was using. After more research, I found out that the book uses AT&T syntax whereas my code (and most commonly used syntax) was using the Intel syntax. Directives and order of operands are completely different between the two. There should be a 'Requirements' section to the book description stating it uses AT&T syntax for Unix/Linux. The book is completely worthless to me. But, since I'm sure there are others using the syntax used in the book and are on a Unix/Linux system, I am giving this book 2 stars.

Super interesting!

M.L. · April 22, 2024

The book is very simple to understand and definitely helps to get a better mental picture of how computers work at the deepest level. A must read for any coder.

Excellent book

i. · June 28, 2022

The book is targeted to beginners in assembly programming for x86-64. I used it to learn about 64 assembly programming.

Similar suggestions by Bolo

More from this brand

Similar items from “Software Development”