Datasheet
DocID17943 Rev 6 15/134
STM8L15xx8, STM8L15xR6 Functional overview
61
3.2 Central processing unit STM8
3.2.1 Advanced STM8 Core
The 8-bit STM8 core is designed for code efficiency and performance with an Harvard
architecture and a 3-stage pipeline.
It contains 6 internal registers which are directly addressable in each execution context, 20
addressing modes including indexed indirect and relative addressing, and 80 instructions.
Architecture and registers
• Harvard architecture
• 3-stage pipeline
• 32-bit wide program memory bus - single cycle fetching most instructions
• X and Y 16-bit index registers - enabling indexed addressing modes with or without
offset and read-modify-write type data manipulations
• 8-bit accumulator
• 24-bit program counter - 16 Mbyte linear memory space
• 16-bit stack pointer - access to a 64 Kbyte level stack
• 8-bit condition code register - 7 condition flags for the result of the last instruction
Addressing
• 20 addressing modes
• Indexed indirect addressing mode for lookup tables located anywhere in the address
space
• Stack pointer relative addressing mode for local variables and parameter passing
Instruction set
• 80 instructions with 2-byte average instruction size
• Standard data movement and logic/arithmetic functions
• 8-bit by 8-bit multiplication
• 16-bit by 8-bit and 16-bit by 16-bit division
• Bit manipulation
• Data transfer between stack and accumulator (push/pop) with direct stack access
• Data transfer using the X and Y registers or direct memory-to-memory transfers
3.2.2 Interrupt controller
The high density and medium+ density STM8L15xxdevices feature a nested vectored
interrupt controller:
• Nested interrupts with 3 software priority levels
• 32 interrupt vectors with hardware priority
• Up to 40 external interrupt sources on 11 vectors
• Trap and reset interrupts