1. A method of applying patches to a code residing on a read only memory (ROM) to substitute execution of a first code residing at a first address in the ROM with execution of a second code residing at a second address within a memory map, the method comprising: storing the first address of the first code in a first register; pre-fetching a first instruction; comparing an address of the first instruction with the first address of the first code; issuing a pre-fetch abort instruction if the address of the first instruction matches the address of the first code; and fetching the second address of the second code.