RL78
RL78 Family is a 16-bit CPU core for embedded microcontrollers of Renesas Electronics introduced in 2010. Architecture Although it has eight 8-bit registers or four 16-bit register pairs, essentially all arithmetic operations are performed on a single accumulator (the A register or AX register pair). Most models have four register banks which may be selected quickly. Special-purpose registers consist of: 20-bit program counter PC 16-bit stack pointer SP. This is always 2-byte aligned. 8-bit program status word PSW. This includes a carry flag (borrow bit on subtract), auxiliary carry flag and zero flag, but not a negative flag or overflow flag. The former is unnecessary, as it is possible to branch on the most significant bit of the accumulator directly, but the lack of the latter makes signed comparisons awkward. Two 4-bit segment registers, describes below. Data addressing is mostly 16-bit, with all RAM and special function registers located in the high 64 KB of the address space (0xF0000–0xFFFFF), and data accesses defaulting to that region. Access to other regions of the address space uses an "ES" prefix opcode, indicating that the high four address bits should come from a special "extra segment" register instead. The basic 2-operand ALU operations