8XC196MC, MD, MH USER’S MANUAL
iv
CHAPTER 3
PROGRAMMING CONSIDERATIONS
3.1 OVERVIEW OF THE INSTRUCTION SET.................................................................... 3-1
3.1.1 BIT Operands ............................................................................................................3-2
3.1.2 BYTE Operands ........................................................................................................3-2
3.1.3 SHORT-INTEGER Operands ....................................................................................3-2
3.1.4 WORD Operands ......................................................................................................3-2
3.1.5 INTEGER Operands .................................................................................................3-3
3.1.6 DOUBLE-WORD Operands ......................................................................................3-3
3.1.7 LONG-INTEGER Operands ......................................................................................3-4
3.1.8 Converting Operands ................................................................................................3-4
3.1.9 Conditional Jumps ....................................................................................................3-4
3.1.10 Floating Point Operations .........................................................................................3-4
3.2 ADDRESSING MODES................................................................................................. 3-5
3.2.1 Direct Addressing ......................................................................................................3-6
3.2.2 Immediate Addressing ..............................................................................................3-6
3.2.3 Indirect Addressing ...................................................................................................3-6
3.2.3.1 Indirect Addressing with Autoincrement ...............................................................3-7
3.2.3.2 Indirect Addressing with the Stack Pointer ...........................................................3-7
3.2.4 Indexed Addressing ..................................................................................................3-7
3.2.4.1 Short-indexed Addressing ....................................................................................3-7
3.2.4.2 Long-indexed Addressing ....................................................................................3-8
3.2.4.3 Zero-indexed Addressing .....................................................................................3-8
3.3 ASSEMBLY LANGUAGE ADDRESSING MODE SELECTIONS.................................. 3-9
3.3.1 Direct Addressing ......................................................................................................3-9
3.3.2 Indexed Addressing ..................................................................................................3-9
3.4 SOFTWARE STANDARDS AND CONVENTIONS ....................................................... 3-9
3.4.1 Using Registers .........................................................................................................3-9
3.4.2 Addressing 32-bit Operands ...................................................................................3-10
3.4.3 Linking Subroutines ................................................................................................3-10
3.5 SOFTWARE PROTECTION FEATURES AND GUIDELINES .................................... 3-11
CHAPTER 4
MEMORY PARTITIONS
4.1 MEMORY PARTITIONS ................................................................................................ 4-1
4.1.1 External Devices (Memory or I/O) .............................................................................4-1
4.1.2 Program and Special-purpose Memory ....................................................................4-1
4.1.3 Program Memory ......................................................................................................4-2
4.1.4 Special-purpose Memory ..........................................................................................4-3
4.1.4.1 Reserved Memory Locations ...............................................................................4-3
4.1.4.2 Interrupt and PTS Vectors ....................................................................................4-3
4.1.4.3 Security Key .........................................................................................................4-4
4.1.4.4 Chip Configuration Bytes (CCBs) .........................................................................4-4
4.1.5 Special-function Registers (SFRs) ............................................................................4-4