Introduction to Computer Organization: ARM Edition

Introduction to Computer Organization: ARM Edition

by Robert G. Plantz
December 2024, 520 pp.
ISBN-13: 
9781718502741

Download Chapter 11: Inside the Main Function

Look Inside!

Introduction to Computer Organization: ARM Edition back cover
Introduction to Computer Organization: ARM Edition pages 34-35Introduction to Computer Organization: ARM Edition pages 92-93Introduction to Computer Organization: ARM Edition pages 280-281

The ARM edition of Introduction to Computer Organization will show you how high-level code connects to computer hardware through ARM 64-bit assembly language. You’ll learn ARM assembly language from the ground up, and all you’ll need is some basic experience with programming. As you grow to understand ARM’s 64-bit design (from first principles), you’ll develop the skills to write more efficient, optimized code.

Learn the fundamentals:

  • Data storage formats and computer encoding 
  • Binary and hexadecimal arithmetic operations
  • Boolean algebra and logic gates
  • Digital circuit design 

Explore how software and hardware interact:

  • Memory hierarchy, from CPU registers to the cloud
  • CPU architecture and instruction execution
  • ARM 64-bit assembly language programming

Get hands-on experience programming the GPIO on Raspberry Pi 3, 4, and 5 in assembly. Use GNU programming tools to examine code generated from C and C++ by the compiler, write assembly programs from scratch, and use the debugger to visualize execution, inspect registers, and understand machine-level operations. Each chapter includes practical “Your Turn” exercises to reinforce key concepts and build real-world programming skills.

Whether you’re optimizing code performance, developing embedded systems, or simply curious about how computers execute your programs, this guide provides deep insight into how software and hardware interact to bring programs to life.

Author Bio 

Robert G. Plantz started his career designing electronics for the Gemini spacecraft and Apollo Lunar Module. Plantz earned his PhD in electrical engineering at UC Berkeley and was a professor of computer science at Sonoma State University for 21 years.

Table of contents 

Acknowledgments 
Introduction

Chapter 1: Setting the Stage
Chapter 2: Data Storage Formats
Chapter 3: Computer Arithmetic
Chapter 4: Boolean Algebra
Chapter 5: Logic Gates
Chapter 6: Combinational Logic Circuits
Chapter 7: Sequential Logic Circuits
Chapter 8: Memory
Chapter 9: Central Processing Unit
Chapter 10: Programming in Assembly Language
Chapter 11: Inside the main Function
Chapter 12: Instruction Details
Chapter 13: Control Flow Constructs
Chapter 14: Inside Subfunctions
Chapter 15: Special Uses of Subfunctions
Chapter 16: Bitwise Logic, Multiplication, and Division Instructions
Chapter 17: Data Structures
Chapter 18: Object-Oriented Programming
Chapter 19: Fractional Numbers
Chapter 20: Input/Output
Chapter 21: Exceptions and Interrupts
Index

View the Copyright page
View the detailed Table of Contents
View the Index

Reviews 

"Forged in the furnace of the classroom, this book enables students to synthesize, comprehend and create their own assembler programs. The process [Robert Plantz] leads them though is quite elegant, building from the basics . . .  to infinity and beyond. 
There are 10 kinds of people who understand binary. When finished with this book you will know what camp you are in."
—Dale Phillips, Professor of Computer Science at Modesto Junior College

"Provides an excellent introduction to the ARM assembly language. It contains the perfect mix of theory and examples to help students understand and apply the concepts. I highly recommend this book."
— Duy Nguyen, Professor of Computer Science at Palomar College