[an error occurred while processing this directive]
|
Тебе она не подойдет, т.к. ты похоже используешь IAR C. Поищи, возможно имеется соответствующий аналог.
А в CodeVision'е можно например писать так:
#pragma savereg- ; Отключили автосохранение регистров
// Обработчик прерывания
interrupt [USART_DRE] void uart_dre_isr(void)
{
#asm
; Сохраняем регистры, которые будем пользовать
push r26
in r26,sreg
push r26
bla-bla-bla
bla-bla-bla
..........................
; Восстанавливаем регистры
pop r26
out sreg, r26
pop r26
#endasm
}
#pragma savereg+
Фактически написано на Ассемблере :))
Компилятор только добавит сам команду reti в конце (о том, что это нужно сделать, ему говорит ключевое слово interrupt).
E-mail: info@telesys.ru