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

 
 
> IAR и ассемблер, прерывание не асме
Vitaly
сообщение Nov 29 2005, 13:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 17-06-05
Пользователь №: 6 095



Доброго времени суток, господа!
Подскажите, как организовать обработчик прерывания полностью на асме. Что бы компилятор только поставил переход на процедуру и все.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
*Roma*
сообщение Nov 30 2005, 07:03
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 17-06-05
Пользователь №: 6 089



Я когдато писал для исключительно для интереса, вот код:

NAME EXT_INT1
#include "iom8535.h"
extern c_T2
COMMON INTVEC(2) ; Code in interrupt vector segment
ORG TIMER2_COMP_vect ; Place code at interrupt vector
RJMP c_T2 ; Jump to assembler interrupt function
ENDMOD
;The interrupt vector code performs a jump to the
function c_T2,2
NAME c_T2
#include "iom8535.h"
PUBLIC c_T2 ; Symbols to be exported to C function
RSEG CODE ; This code is relocatable, RSEG
c_T2:
ST -Y,R17
st -Y,R16 ; Push used registers on stack
in R16,SREG ; Read status register
st -Y,R16 ; Push Status register
in r16,OCR2;
ldi r17,10
add r16,r17;
out OCR2,r16;
mov r16,r15;
ori r16,0x02;
mov r15,r16;
ld R16,Y+ ; Pop status register
out SREG,R16 ; Store status register
ld R16,Y+ ; Pop Register R16
ld R17,Y+ ;
reti
END

а вообще рекомендую ознакомиться с AVR034 на сайте Атмелаsmile.gif Там всё достаточно понятно описано.
Go to the top of the page
 
+Quote Post



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

 


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


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