Advance Information
UM-TM57PE10_E
8-Bit Microcontroller
11
tenx technology inc.
Preliminary
Rev 1.4, 2012/01/19
1.3 Programming Counter (PC) and Stack
The Programming Counter is 10-bit wide capable of addressing a 1K x 14 OTP ROM. As a program
instruction is executed, the PC will contain the address of the next program instruction to be executed.
The PC value is normally increased by one except the followings. The Reset Vector (000h) and the
Interrupt Vector (001h) are provided for PC initialization and Interrupt. For CALL/GOTO instructions, PC
loads 10 bits address from instruction word. For RET/RETI/RETLW instructions, PC retrieves its content
from the top level STACK. For the other instructions updating PC [7:0], the PC [9:8] keeps unchanged.
The STACK is 10-bit wide and 5-level in depth. The CALL instruction and hardware interrupt will push
STACK level in order. While the RET/RETI/RETLW instruction pops the STACK level in order.
1.4 ALU and Working (W) Register
The ALU is 8-bit wide and capable of addition, subtraction, shift and logical operations. In two-operand
instructions, typically one operand is the W register, which is an 8-bit non-addressable register used for
ALU operations. The other operand is either a file register or an immediate constant. In single operand
instructions, the operand is either W register or a file register. Depending on the instruction executed,
the ALU may affect the values of Carry (C), Digit Carry (DC), and Zero (Z) Flags in the STATUS register.
The C and DC flags operate as a /Borrow and /Digit Borrow, respectively, in subtraction.
Note: /Borrow represents inverted of Borrow register.
/Digit Borrow represents inverted of Digit Borrow register.