Прерывание. сделать это ... прервать. Представьте себе дверной звонок в вашем доме, который прерывает вас в любое случайное время дня или ночи. Можно ли ожидать, что в любой момент в вашей руке будут все нужные предметы для любого конкретного прерывания, которое может произойти. Вы должны быть в состоянии приготовить ужин, принять душ, сложить белье, но только ДО звонка в дверной звонок у вас должны быть точно правильные предметы в обеих руках, в зависимости от того, кто звонит в звонок, без какого-либо способа узнать, что они есть или находятся. Приходите или собираетесь позвонить в звонок. Не совсем возможно. То же самое здесь, прерывания приходят в любое конкретное время, для большинства процессоров сразу после выполняемой в данный момент инструкции вызывается обработчик прерываний, что означает, что каждая отдельная инструкция должна будет пытаться выполнить приложение переднего плана, сохраняя все параметры для прерывания. обработчик, и сделайте все это за один раз.
Теперь то, что возможно, это с операционной системой, или rtos, или назовите это как хотите, каким-то слоем. Чтобы иметь реальный обработчик прерываний, который ничего не знает и должен это выяснить, как только он выяснит, что именно прерывание собирается для сбора информации, а затем вызывает высокоуровневый обработчик прерываний, который передает параметры. Конечно, возможно, и большинство / многие операционные системы делают это таким образом.