CS 273 Lecture Notes
Preliminaries
Basics of Instruction Execution
Assembler Syntax
Compiling, Linking, and Loading
Arithmetic in Various Radixes
Introduction to Digital Logic and Boolean Algebra
Binary Numbers, Arithmetic, and Radix Conversions
Negative Numbers
HC11 Arithmetic Instructions
HC11 Program Development
Getting Access to CS273 Software
Skeleton of an HC11 Program
Assembling
The Simulator
Immediate, Direct, and Extended Addressing
Branches and Flow of Control
Example: Euclid's Algorithm
A bit more on compiling code:
Overview of Compilation process
Translating Fundamental Program Structures to Assembly
Another Example of Compiling, Using a Flowchart
Performance I: Cycle Counting
Indexed Addressing
Stacks
Stacks for Arithmetic
Review of Stacks
Stacks for Procedures
Passing Parameters
Procedure Details
Passing by-value and by-reference parameters
Detailed example: a device driver for the motor ports
Hardware
Hello World for HC11 Mobile Robots: Bouncing Off Walls
HC11 Power Management
The Analog Port
The RESET Interrupt
Interrupts
The RTI Interrupt
Serial Communications
Advanced IO
Character Encoding
Advanced Arithmetic Topics
Multiplication and Division Instructions
Multiple-Precision Arithmetic
Multi-byte Multiplication
Binary Coded Decimal
Multiplication Algorithm
Division
Advanced Division
Floating Point
Instruction Set Classification