A microcontroller apparatus is provided with an instruction set for
manipulating the behavior of the microcontroller. The apparatus and
system is provided that enables a linearized address space that makes
modular emulation possible. Direct or indirect addressing is possible
through register files or data memory. Special function registers,
including the Program Counter (PC) and Working Register (W), are mapped
in the data memory. An orthogonal (symmetrical) instruction set makes
possible any operation on any register using any addressing mode.
Consequently, two file registers to be used to some two operand
instructions. This allows data to be moved directly between two registers
without going through the W register. Thus, increasing performance and
decreasing program memory usage.