он универсальный вот этот код процессор делает автоматически если разместить
по 0x18 тот операнд, который Вы хотите
void (*interrupt_function)(); unsigned int vector; vector = VICVectAddr; // Get interrupt vector. interrupt_function = (void(*)())vector; (*interrupt_function)(); // Call vectored interrupt function.а asm исходник будет выглядеть так примерно только не пытайсеь засунуть его в IAR - этот код из ADS 1.2 но логика я думаю понятна. Можно переделать под IAR
AREA Vect, CODE, READONLY ENTRY LDR PC, Reset_Addr LDR PC, Undefined_Addr LDR PC, SWI_Addr LDR PC, Prefetch_Addr LDR PC, Abort_Addr NOP ; Reserved vector LDR PC, [PC,#-0xFF0] LDR PC, FIQ_Addr IMPORT Reset_Handler ; In Crt0.s Reset_Addr DCD Reset_Handler Undefined_Addr DCD Undefined_Handler SWI_Addr DCD SWI_Handler Prefetch_Addr DCD Prefetch_Handler Abort_Addr DCD Abort_Handler FIQ_Addr DCD FIQ_Handler ; ************************ ; Exception Handlers ; ************************ ; The following dummy handlers do not do anything useful in this example. ; They are set up here for completeness. Undefined_Handler B Undefined_Handler SWI_Handler B SWI_Handler Prefetch_Handler B Prefetch_Handler Abort_Handler B Abort_Handler FIQ_Handler B FIQ_Handler END
-
- Ответ: dmyl(343 знак., 08.09.2005 17:38, )