My Account Log in

1 option

Learn to Program with Assembly : Foundational Learning for New Programmers / by Jonathan Bartlett.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Bartlett, Jonathan, 1977- author.
Language:
English
Subjects (All):
Programming languages (Electronic computers).
Computer science.
Computers.
Software engineering.
Programming Language.
Computer Science.
Computer Hardware.
Software Engineering.
Local Subjects:
Programming Language.
Computer Science.
Computer Hardware.
Software Engineering.
Physical Description:
1 online resource (324 pages)
Edition:
1st ed. 2021.
Place of Publication:
Berkeley, CA : Apress : Imprint: Apress, 2021.
Summary:
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.
Contents:
Chapter 1: Introduction
Chapter 2: The Truth About Computers
Part I: Assembly Language Basics
Chapter 3: Your First Program
Chapter 4: Registers and Simple Arithmetic
Chapter 5: Comparison, Branching and Looping
Chapter 6: Working with Data in Memory
Chapter 7: Data Records
Chapter 8: Signed Numbers and Bitwise Operations
Chapter 9: More Instructions You Should Know
Part II: Operating System Basics
Chapter 10: Making System Calls
Chapter 11: The Stack and Function Calls
Chapter 12: Calling Functions from Libraries
Chapter 13: Common and Useful Assembler Directives
Chapter 14: Dynamic Memory Allocation
Chapter 15: Dynamic Linking
Part III: Programming Language Topics
Chapter 16: Basic Language Features Represented in Assembly Language
Chapter 17: Tracking Memory Allocations
Chapter 18: Object-Oriented Programming
Chapter 19: Conclusion and Acknowledgments
Part IV: Appendices
Appendix A: Getting Set Up with Docker
Appendix B: The Command Line
Appendix C: Debugging with GDB
Appendix D: Nasm (Intel) Assembly Language Syntax
Appendix E: Common x86-64 Instructions
Appendix F: Floating Point Numbers
Appendix G: The Starting State of the Stack
Appendix H: ASCII, Unicode, and UTF-8
Appendix I: Optimization
Appendix J: A Simplified Garbage Collector
Appendix K: Going to an Even Lower Level.
Notes:
Includes index.
Other Format:
Print version: Bartlett, Jonathan Learn to Program with Assembly
ISBN:
9781484274378
1484274377
OCLC:
1285166438

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account