реклама на сайте
подробности

 
 
> Помогите с прерываниями
RedPlanet
сообщение Mar 20 2008, 20:12
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 20-02-08
Пользователь №: 35 232



Необходимо написать проект на Си, в котором прерывания будут полностью написаны на ассемблере. В "Mixing C and Assembly Code with IAR.pdf" приведен пример:
Код
NAME EXT_INT1
#include "iom128.h"
extern c_int1
COMMON INTVEC(1)
ORG INT1_vect
RJMP c_int1
ENDMOD

NAME c_int1
#include "iom128.h"
PUBLIC c_int1
RSEG CODE

c_int1:
    st -Y,R16
    in R16,SREG
    st -Y,R16
    in R16,PIND
    com R16  
    out PORTB,R16
    out SREG,R16
    ld R16,Y+
    reti
END

но при компиляции ИАР выдает ошибку на строке RJMP c_int1:
Код
Error[40]: Bad instruction
не могу понять в чем проблема.
Также непонятна строка "COMMON INTVEC(1)", какой у нее параметр.
Подскажите пожалуйста.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016