A method for recovering from a reset in a microprocessor includes steps of
evaluating a predetermined pattern in a volatile memory (102), determining
the type of reset which occurred depending upon whether the predetermined
pattern is intact (103); and initializing the memory depending upon the
type of reset. In particular, all locations in the memory will be
initialized if a "power on" reset occurs (107) and initializing only
selected portions of the memory if a "static" or "cradled" reset has
occurred (104). If a static or cradled reset has occurred, all locations
of the memory are initialized except those locations including state
information to allow normal operation of the microprocessor. That is, the
operation of the microprocessor based device can be restored without
interruption after the reset.