|
Требуется вставить обработку прерывния:
ORG 18H
GOTO 1018H
Как оформить это дело в IARe?
Дело в том что в загрузчике использую такой код:
#pragma vector=0x18
__interrupt void kak_hochesh_nazovi (void)
{
asm("goto 0x1018h");
}
а компилятор его переделывает в
155 __interrupt void InterruptsLow(void) {
\ InterruptsLow:
\ 000000 REQUIRE `?CLPIC18_2_12_L00`
\ 000000 ; Low priority interrupt
\ 000000 ; Function Enter
\ 000000 ........ MOVFF BSR,LOC(InterruptsLow,OVERLAY,0)
\ 000004 ........ MOVFF _A_STATUS,LOC(InterruptsLow,OVERLAY,1)
\ 000008 ; Saving used registers
157 asm("GOTO 1018H");
\ 000008 0CEF08F0 GOTO 1018H
158 }
\ 00000C ; Restoring used registers
\ 00000C ........ MOVFF LOC(InterruptsLow,OVERLAY,1),_A_STATUS
\ 000010 ........ MOVFF LOC(InterruptsLow,OVERLAY,0),BSR
\ 000014 ; Interrupt function exit
\ 000014 1000 RETFIE 0
В итоге в основной программе озу портиться. Как избавиться от этого дела?
E-mail: info@telesys.ru