The Raptor-16 is a full 16-bit CISC Microprocessor that has 8 Data Registers, 8 Address Registers, 1 Control Register, 5 User Port Registers and is able to directly access 65536 words of memory. The Register Set and Memory Map for the Microprocessor are shown below:-
A brief summary of what the internal registers are used for is given below:-
- Data Registers - These eight registers are intended primarily to hold and manipulate 16-bit data values.
- Address Registers - These eight registers are intended primarily to hold and manipulate memory locations, but can also be used to hold and manipulate 16-bit data values.
- Port Registers - These five registers are intended primarily for use in communicating with the outside world, but can also be used to hold and manipulate 16-bit data values.
- Control Register - This register is used to hold and control general system information such as the interrupt mask, condition codes and current execution level.
When interrupts are to be used with the Raptor-16 Microprocessor the memory map shown above should be used. This memory map uses the first 8 memory locations to hold the initial code branch (branch to user code) and the 7 interrupt branches (branch to interrupt code).
When interrupts are not required the first 8 memory locations can be used for normal code execution.
In either case at power on code execution starts at memory location 0.
The Raptor-16 Microprocessor has a complex Instruction Set
that is complemented by its high Code Density
and rich selection of Addressing Modes. There are 12 Addressing Modes to choose from as shown below:-
- Register Direct - Access the content of a Register.
- Register Indirect - Access the memory location pointed at by a Register.
- Register Indirect with Pre-Decrement - Decrement a Register by 1 and then access the memory location pointed at by the Register.
- Register Indirect with Post-Increment - Access the memory location pointed at by a Register and then increment the Register by 1.
- Register Indirect with Displacement - Access the memory location pointed at by a Register offset by the Displacement.
- Immediate Quick - Provide small immediate data.
- Port Direct - Access the content of a Port Register.
- Immediate - Provide full 16-bit immediate data.
- Address Direct - Access the memory location pointed at by the 16-bit address.
- PC Relative Quick - Branch by the small displacement amount.
- PC Relative - Branch by the full 16-bit displacement amount.
Note that 'Access' refers to both the Read and Write operation.
Please see the Instruction Set
for examples of how and where the Addressing Modes are used. Also see the Code Density
for a full list of instructions with all the possible Addressing Mode combinations.