Разве прерывание не сохранит все
регистрирует и возвращает их после
сделано, чтобы не было потери данных?
Да, было бы. Однако некоторые порты ввода / вывода чувствительны ко времени и могут не работать должным образом, если последовательность чтения / записи прерывается. Или прерывание как-то влияет на порт (например, вы читаете регистр UART, и появляется символ, вызывая последовательное прерывание и изменяя состояние UART). Или вы можете писать в порт, который сам по себе связан с обработкой прерываний (например, контроллер прерываний). Трудно сказать, действительно ли это необходимо без каких-либо подробностей, но в целом лучше быть в безопасности, чем потом сожалеть.