ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
4 июня
1522035 Топик полностью
vpv.vpv (02.06.2025 07:42, просмотров: 76) ответил vpv.vpv на Если в прерывание вставить вызов другой функции, самой простейшей, то компилятор уже НЕ видит, какие регистры используются, и пихает в стек вобще всё. Поэтому я уже много лет использую __raw
Вот как это выглядит в листинге. В регисторовой паре R15:R14 лежит текущий указатель на нужную функцию. Функция "портит"только пару регистров. Её вызов происходит мгновено (команда MOVW - 1 такт). А вот преамбулы и послеамбулы прерывания из-за косвенного вызова длятся невыносимо долго и бестолково.