1. A microprocessor, comprising: an architected register, having a bit; and a fetch unit; wherein the microprocessor is configured to save a value of the bit, in response to receiving a request to interrupt a currently executing program, wherein the bit indicates whether the currently executing program is encrypted or unencrypted; wherein the microprocessor is further configured to restore the saved value to the bit and to resume fetching the interrupted program as the currently executing program, in response to executing a return from interrupt instruction; wherein if the restored value of the bit is set, the microprocessor is configured to restore decryption key values associated with the currently executing program, prior to resuming fetching the interrupted program, and to decrypt fetched instructions thereof using the restored decryption key values; wherein to restore the decryption key values, the microprocessor is configured to load the decryption key values from a storage element to a register file, wherein the storage element is configured to store decryption key values associated with each of a plurality of encrypted programs; wherein if the restored value of the bit is clear, the microprocessor is configured to refrain from decrypting the fetched instructions of the currently executing program.