TSK3000A Additional Registers
The TSK3000A defines the following three special registers that are not part of either the GPR or SFR banks of registers.
Program Counter (PC)
As a program instruction is executed, the Program Counter will contain the address of the program instruction to be executed. The PC is incremented by four at the start of the subsequent instruction cycle, unless an instruction changes the PC.
After a reset, this register is initialized to 0000_0000h
.
High Word Register (HI)
When performing multiplication using the MULT or MULTU instructions, this 32-bit register is loaded with the high-order word of the 64-bit result.
When performing division using the DIV or DIVU instructions, this register is loaded with the remainder word. The sign of the value stored will depend on whether signed or unsigned division is being performed. If signed, the value stored will be the same sign as that of the numerator operand. If unsigned, the value will always be positive.
The HI register can be read and written in a single instruction cycle using the MFHI and MTHI instructions, respectively.
After a reset, this register is initialized to 0000_0000h
.
Low Word Register (LO)
When performing multiplication using the MULT or MULTU instructions, this 32-bit register is loaded with the low-order word of the 64-bit result.
When performing division using the DIV or DIVU instructions, this register is loaded with the quotient word. The sign of the value stored will depend on whether signed or unsigned division is being performed. If signed, the value stored will be negative if the signs of the operands are different. If unsigned, the value will always be positive.
The LO register can be read and written in a single instruction cycle using the MFLO and MTLO instructions, respectively.
After a reset, this register is initialized to 0000_0000h
.