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 and Hexadecimal Numbers and Arithmetic
Converting To and From Decimal
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
Review of Stacks
The HC11 and Stacks
Stacks for Procedures
Passing Parameters
Procedure Details
Passing by-value and by-reference parameters
Stacks for Arithmetic
Detailed example: a device driver for the motor ports
Hardware
The Miniboard Motor Ports
The Miniboard Digital Input
Hello World for HC11 Mobile Robots: Bouncing Off Walls
The Analog Port
The RESET Interrupt
Interrupts
More on IRQ
The RTI Interrupt
Serial Communications
HC11 Power Management
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
Intel History Notes
PIC processors