A method implemented in a processor for supporting two separate and distinct instruction-set architectures corresponding to two separate and distinct modes of operation, said processor including an instruction fetch and decode mechanism directly receiving instructions from memory and decoding said received instructions as being in a first instruction set of a first architecture or being in a second instruction set of a second architecture depending on an architectural context for each said received instruction, said processor operating under a single multitasking operating system, said method comprising the steps of:
- determining an operating state from an initial state change indicator, a current page indicator and an architecture qualifying indicator;
- controlling which of first or second architectural translation methods is to be used by a memory management unit when translating an effective address to a virtual address in response to said operating state;
- controlling the instruction fetch and decode mechanism so that instructions of the two different architectures are decoded properly in response to said operating state;
- translating addresses of the two different architectures by mapping the translation of one architecture onto that of another architecture;
- and
- switching from application software written for one architecture to application software written for another architecture in a multitasking environment.