CS 273 Lecture Notes
Preliminaries
Basics of Instruction Execution
Compiling, Linking, and Loading
Arithmetic in Various Radixes
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 (intro and Simple C)
Euclid Part II: HC11
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
Review of Stacks
Stacks for Procedures
Stacks for Arithmetic
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
The Analog Port
The RESET Interrupt
Interrupts
The RTI Interrupt
Serial Communications
Advanced IO
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