Abstract: A method and apparatus for implementing a 32-bit operating system which supports 16-bit code includes loading basic input output system (BIOS) code into a base portion of a memory and loading first operating system code into the base portion. Second operating system code is then loaded into an extended portion of the memory and the second operating system code is allowed to overwrite the BIOS code and the first operating system code with data.