
Description:
Editorial Reviews
From the Back Cover
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
Reviews:
5.0 out of 5 stars A great introduction to assembly language
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
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!
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
The book is targeted to beginners in assembly programming for x86-64. I used it to learn about 64 assembly programming.
Visit the Apress Store
Learn to Program with Assembly: Foundational Learning for New Programmers
AED27331
Quantity:
Order today to get by 7-14 business days
This item qualifies for free delivery
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”
Share with
Or share with link
https://www.bolo.ae/products/U1484274369
Visit the Apress Store
Learn to Program with Assembly: Foundational Learning for New Programmers

AED27331
Quantity:
Order today to get by 7-14 business days
This item qualifies for free delivery
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:
Editorial Reviews
From the Back Cover
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
Reviews:
5.0 out of 5 stars A great introduction to assembly language
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
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!
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
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”
Share with
Or share with link
https://www.bolo.ae/products/U1484274369