Labs for Chapter 2: Creating and Running Programs
Lab 2a: Creating a Simple Program
Lab 2b: Constant Labels and .EQU Directives
Lab 2c: Driving the Calculator's Main Display
Lab 2d: Reading from the Calculator's Keypad
Lab 2e: Writing to the Calculator's Six LEDs
Lab 2f:  Using the Memory Walker and other Diagnostic Displays

Labs for Chapter 3: Subroutines and Other Stuff

Lab 3a: Using logical instructions, shifts, and rotates
Lab 3b: Understanding the Program Counter (PC)
Lab 3c: Using the Index Register (X)
Lab 3d: Using the Stack and Stack Pointer (SP)
Lab 3e: Using Subroutines
Lab 3f:  Using Recursion

Labs for Chapter 4: Integer Arithmetic

Lab 4a: Creating a Testbench Program
Lab 4b: Creating a 16-bit ADD subroutine
Lab 4c: Creating a 16-bit SUBTRACT subroutine
Lab 4d: Creating a 16-bit NEGATE subroutine
Lab 4e: Checking for Overflow in the ADD and SUBTRACT Routines
Lab 4f:  Creating a 16-bit MULTIPLY subroutine
Lab 4g: Creating a 16-bit DIVIDE subroutine

Labs for Chapter 5: Creating an Integer Calculator

Lab 5a: Creating the Calculator Framework
Lab 5b: Adding Some Low-Level Utility Routines
Lab 5c: Creating a Decimal GETNUM ("get number") Subroutine
Lab 5d: Creating a Decimal DISPNUM ("display number") Subroutine
Lab 5e: Implementing a Four-Function Integer Calculator