Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

непонятно по какому праву (+)

Отправлено bp (78.37.186.120) 18 февраля 2010, г. 23:03
В ответ на: вопрос по IAR для AVR (+) отправлено bp 18 февраля 2010, г. 22:35

если компилятору предложить конструкцию:

#pragma vector = INT0_vect
__interrupt void int0_ISR()
{
asm(" sbi 0x18,0x00");
int0_ISR_slow();
}

он вытворяет вот такое:

\ 00000000 938A ST -Y,R24
\ 00000002 93FA ST -Y,R31
\ 00000004 93EA ST -Y,R30
\ 00000006 923A ST -Y,R3
\ 00000008 922A ST -Y,R2
\ 0000000A 921A ST -Y,R1
\ 0000000C 920A ST -Y,R0
\ 0000000E 937A ST -Y,R23
\ 00000010 936A ST -Y,R22
\ 00000012 935A ST -Y,R21
\ 00000014 934A ST -Y,R20
\ 00000016 933A ST -Y,R19
\ 00000018 932A ST -Y,R18
\ 0000001A 931A ST -Y,R17
\ 0000001C 930A ST -Y,R16
\ 0000001E B78F IN R24,0x3F
\ 00000020 9AC0 sbi 0x18,0x00
\ 00000022 .... RCALL int0_ISR_slow
\ 00000024 BF8F OUT 0x3F,R24
\ 00000026 9109 LD R16,Y+
\ 00000028 9119 LD R17,Y+
\ 0000002A 9129 LD R18,Y+
\ 0000002C 9139 LD R19,Y+
\ 0000002E 9149 LD R20,Y+
\ 00000030 9159 LD R21,Y+
\ 00000032 9169 LD R22,Y+
\ 00000034 9179 LD R23,Y+
\ 00000036 9009 LD R0,Y+
\ 00000038 9019 LD R1,Y+
\ 0000003A 9029 LD R2,Y+
\ 0000003C 9039 LD R3,Y+
\ 0000003E 91E9 LD R30,Y+
\ 00000040 91F9 LD R31,Y+
\ 00000042 9189 LD R24,Y+

а не засовывает все st/ld в функцию int0_ISR_slow()










Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 38:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru