Цитата(AlexandrY @ Jul 22 2007, 16:54)

человек поднял проблему не подумавши.
Ну а если подумать над словами человека?
Это если компилятор знает про FIQ:
Код
FIQ_ISR_handler:
MOV R8,#+4
LDR R9,??FIQ_ISR_handler_0;; 0xffffffffe01fc140
LDR R10,??FIQ_ISR_handler_0+0x4;; fic_counter
??FIQ_ISR_handler_1:
LDR R11,[R10, #+0]
ADD R11,R11,#+1
STR R11,[R10, #+0]
LDR R11,[R9, #+0]
ORR R11,R11,#0x4
STR R11,[R9, #+0]
STR R8,[R9, #+0]
LDR R11,[R9, #+0]
AND R11,R11,#0x4
LSRS R11,R11,#+2
BNE ??FIQ_ISR_handler_1
SUBS PC,LR,#+4 ;; return
А это если ему что IRQ, что FIQ все едино
Код
FIQ_ISR_handler:
PUSH {R0-R3}
MOV R0,#+4
LDR R1,??FIQ_ISR_handler_0;; 0xffffffffe01fc140
LDR R2,??FIQ_ISR_handler_0+0x4;; fic_counter
??FIQ_ISR_handler_1:
LDR R3,[R2, #+0]
ADD R3,R3,#+1
STR R3,[R2, #+0]
LDR R3,[R1, #+0]
ORR R3,R3,#0x4
STR R3,[R1, #+0]
STR R0,[R1, #+0]
LDR R3,[R1, #+0]
AND R3,R3,#0x4
LSRS R3,R3,#+2
BNE ??FIQ_ISR_handler_1
POP {R0-R3}
SUBS PC,LR,#+4 ;; return