Claims
- 1. A data pointer for generating an indirect addressing mode address within a single cycle for a selected one of a plurality of multiple indirect addressing modes comprising, in combination:
- a data pointer register for storing a current address of an operand to be used in a simple indirect addressing mode;
- a processor architecture scheme which allows for encoding of multiple addressing modes, said processor architecture scheme comprising:
- a central processing unit (CPU);
- a memory coupled to said CPU for storing data; and
- dedicated virtual register address locations in said memory associated with said data pointer register wherein each of said dedicated virtual register address locations dictates and establishes a separate and different indirect addressing mode to be used with said data pointer register when accessed;
- an incrementer coupled to said data pointer register for incrementing said current address of an operand to be used in a simple indirect data addressing mode by a set number for generating an address of an operand to be used in an indirect addressing mode with auto preincrement;
- an adder coupled to said data pointer register for combining said current address of an operand to be used in a simple indirect data addressing mode with an offset number for generating an address of an operand to be used in an indirect addressing mode with offset, said adder being a simple serial adder with serial carry;
- an offset register coupled to said adder for storing and sending said offset number to said adder when signaled; and
- a multiplexer circuit coupled to an output of said data pointer register, to an output of said incrementer, and to an output of said adder for selecting a desired indirect addressing mode address.
- 2. A data pointer for generating an indirect addressing mode address within a single cycle in accordance with claim 1 wherein said multiplexer has a select input coupled to said dedicated virtual register address locations for selecting said desired indirect addressing mode address.
- 3. A data pointer for generating an indirect addressing mode address within a single cycle in accordance with claim 1 wherein said dedicated virtual register address locations in said memory has one dedicated virtual register address location for simple indirect addressing, one dedicated virtual register address location for indirect addressing with auto pre increment, and one dedicated virtual register address location for indirect addressing with offset.
- 4. A data pointer for generating an indirect addressing mode address within a single cycle for a selected one of a plurality of multiple indirect addressing modes comprising, in combination:
- a processor architecture scheme which allows for encoding of multiple addressing modes;
- a data pointer register coupled to said processor architecture scheme for storing a current address of an operand to be used in a simple indirect addressing mode;
- an incrementer coupled to said data pointer register for incrementing said current address of an operand to be used in a simple indirect data addressing mode by a set number for generating an address of an operand to be used in an indirect addressing mode with auto preincrement;
- an adder coupled to said data pointer register for combining said current address of an operand to be used in a simple indirect data addressing mode with an offset number for generating an address of an operand to be used in an indirect addressing mode with offset, said adder being a simple serial adder with serial carry;
- a multiplexer circuit coupled to an output of said data pointer register, to an output of said incrementer, and to an output of said adder for selecting a desired indirect addressing mode address; and
- an offset register coupled to said adder for storing and sending said offset number to said adder.
- 5. A data pointer for generating an indirect addressing mode address within a single cycle in accordance with claim 4 wherein said processor architecture scheme comprises:
- a central processing unit (CPU);
- a memory coupled to said CPU for storing data; and
- dedicated virtual register address locations in said memory associated with said data pointer register wherein each of said dedicated virtual register address locations dictates and establishes a separate and different indirect addressing mode to be used with said data pointer register when accessed.
- 6. A data pointer for generating an indirect addressing mode address within a single cycle in accordance with claim 5 wherein said multiplexer has a select input coupled to said dedicated virtual register address locations for selecting said desired indirect addressing mode address.
- 7. A data pointer for generating an indirect addressing mode address within a single cycle in accordance with claim 5 wherein said dedicated virtual register address locations in said memory has one dedicated virtual register address location for simple indirect addressing, one dedicated virtual register address location for indirect addressing with auto pre increment, and one dedicated virtual register address location for indirect addressing with offset.
- 8. A method for providing a data pointer for generating an indirect addressing mode address within a single cycle for a selected one of a plurality of multiple indirect addressing modes comprising the steps of:
- providing a processor architecture scheme which allows for encoding of multiple addressing modes;
- providing a data pointer register coupled to said processor architecture scheme for storing a current address of an operand to be used in a simple indirect addressing mode;
- providing an incrementer coupled to said data pointer register for incrementing said current address of an operand to be used in a simple indirect data addressing mode by a set number for generating an address of an operand to be used in an indirect addressing mode with auto preincrement;
- providing an adder coupled to said data pointer register for combining said current address of an operand to be used in a simple indirect data addressing mode with an offset number for generating an address of an operand to be used in an indirect addressing mode with offset, said adder being a simple serial adder with serial carry; and
- providing a multiplexer circuit coupled to an output of said data pointer register, to an output of said incrementer, and to an output of said adder for selecting a desired indirect addressing mode address.
- 9. The method of claim 8 further comprising the step of providing an offset register coupled to said adder for storing and sending said offset number to said adder.
- 10. The method of claim 8 wherein said step of providing a processor architecture scheme further comprises the steps of:
- providing a central processing unit (CPU);
- providing a memory coupled to said CPU for storing data; and
- dedicating virtual register address locations in said memory associated with said data pointer register wherein each of said dedicated virtual register address locations dictates and establishes a separate and different indirect addressing mode to be used with said data pointer register when accessed.
- 11. The method of claim 10 further comprising the step of coupling a select input of said multiplexer to said dedicated virtual register address locations for selecting said desired indirect addressing mode address.
- 12. The method of claim 10 wherein said dedicated virtual register address locations in said memory has one dedicated virtual register address location for simple indirect addressing, one dedicated virtual register address location for indirect addressing with auto pre increment, and one dedicated virtual register address location for indirect addressing with offset.
RELATED APPLICATIONS
This application is related to the application entitled "PROCESSOR ARCHITECTURE SCHEME FOR IMPLEMENTING VARIOUS ADDRESSING MODES AND METHOD THEREFOR" Ser. No. 08/946,486 filed on Oct. 7, 1997, in the name of Mitra et al., and assigned to the same assignee as this Application. The disclosure of the above referenced application is hereby incorporated by reference into this application.
US Referenced Citations (9)