Microarchitectural support for program code integrity monitoring in application-specific instruction set processors