User’s Manual
TABLE OF CONTENTS
Chapter 1. Introduction 1
1.1 Features and Specifications ..................................................................................................................1
1.2 Summary of Rabbit Advantages...........................................................................................................5
Chapter 2. Rabbit Design Features 7
2.1 The Rabbit 8-bit Processor vs. 16-bit and 32-bit Processors................................................................8
2.2 Overview of On-Chip Peripherals ........................................................................................................8
2.2.1 Serial Ports ...................................................................................................................................8
2.2.2 System Clock ...............................................................................................................................8
2.2.3 Time/Date Oscillator ....................................................................................................................9
2.2.4 Parallel I/O ...................................................................................................................................9
2.2.5 Slave Port ...................................................................................................................................10
2.2.6 Timers ........................................................................................................................................10
2.3 Design Standards ................................................................................................................................12
2.3.1 Programming Port ......................................................................................................................12
2.3.2 Standard BIOS ...........................................................................................................................12
2.4 Dynamic C Support for the Rabbit ....................................................................................................12
Chapter 3. Details on Rabbit
Microprocessor Features 13
3.1 Processor Registers.............................................................................................................................13
3.2 Memory Mapping ...............................................................................................................................15
3.2.1 Extended Code Space .................................................................................................................18
3.2.2 Extending Data Memory ............................................................................................................19
3.2.3 Practical Memory Considerations ..............................................................................................21
3.3 Instruction Set Outline........................................................................................................................22
3.3.1 Load Immediate Data To a Register ..........................................................................................23
3.3.2 Load or Store Data from or to a Constant Address ....................................................................23
3.3.3 Load or Store Data Using an Index Register .............................................................................24
3.3.4 Register to Register Move ..........................................................................................................25
3.3.5 Register Exchanges ....................................................................................................................25
3.3.6 Push and Pop Instructions ..........................................................................................................26
3.3.7 16-bit Arithmetic and Logical Ops ............................................................................................26
3.3.8 Input/Output Instructions ...........................................................................................................29
3.4 How to Do It in Assembly Language—Tips and Tricks ....................................................................31
3.4.1 Zero HL in 4 Clocks ...................................................................................................................31
3.4.2 Exchanges Not Directly Implemented .......................................................................................31
3.4.3 Manipulation of Boolean Variables ...........................................................................................31
3.4.4 Comparisons of Integers ............................................................................................................32
3.4.5 Atomic Moves from Memory to I/O Space ...............................................................................34
3.5 Interrupt Structure...............................................................................................................................35
3.5.1 Interrupt Priority ........................................................................................................................35
3.5.2 Multiple External Interrupting Devices .....................................................................................37
3.5.3 Privileged Instructions, Critical Sections and Semaphores .......................................................37
3.5.4 Critical Sections .........................................................................................................................38
3.5.5 Semaphores Using Bit B,(HL) ...................................................................................................38
3.5.6 Computed Long Calls and Jumps ..............................................................................................39