[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Имеется С-шная прога для AT90S8515 и прерывание от таймера. С-шный обработчик не подходит - до черта много мусора => медленный. Я написал его на ASM и прилинковал его к С-шнику. НО - как я ни стараюсь компилер (или линкер - не знаю кто) ни как не хочет по адресу 8 (я обрабатываю compare match 1 A) прописывать RJMP на мой ASM обработчик! :(. Просто тычет туда NOP, падлюка! :) Может кто-то с подобной ситуацией встречался ? Поделитесь опытом пожалуйста....
Вот что у меня в ASM файле:
MODULE V_FUNC
PUBLIC OnTimer1
RSEG CODE:CODE:NOROOT(1)
OnTimer1:
....
....мой обработчик прерывания
....
RETI
COMMON INTVEC:CODE:ROOT(1)
ORG 8
RJMP OnTimer1
END
вот что в .lst файле получается
.....
24 00000000 PUBLIC OnTimer1
25 00000000 RSEG CODE:CODE:NOROOT(1)
26 00000000 OnTimer1:
....................................... мой обработчик
68 00000052 9518 RETI
69 00000054
70 00000000 COMMON INTVEC:CODE:ROOT(1)
71 00000008 ORG 8
72 00000008 .... RJMP OnTimer1
73 0000000A
74 0000000A
75 0000000A END
................
тобиж - вместо кода для команды RJMP компилер точки какие-то тычет :(.
E-mail: info@telesys.ru