- Code: Select all
0000044c <EXTI1>:
44c: b508 push {r3, lr}
...
478: bd08 pop {r3, pc}
Если кто не понял шутку, вот лопата:
0000044c <EXTI1>:
44c: b508 push {r3, lr}
...
478: bd08 pop {r3, pc}
VBI wrote:push de
pop hl
void BC1_IRQ() __attribute__ ((interrupt ("IRQ")));
00000188 <EXTI1>:
188: 4668 mov r0, sp
18a: f020 0107 bic.w r1, r0, #7
18e: 468d mov sp, r1
190: b501 push {r0, lr}
...
1a8: e8bd 4001 ldmia.w sp!, {r0, lr}
1ac: 4685 mov sp, r0
1ae: 4770 bx lr
void BC1_IRQ() __attribute__ ((naked));
void BC1_IRQ_epi() __attribute__ ((noinline));
void BC1_IRQ()
{
asm(...);
asm ("push {lr} \n");
BC1_IRQ_epi();
asm ("pop {pc} \n");
}
000004f4 <EXTI1>:
...
50a: b500 push {lr}
50c: f7ff ffae bl 46c <_ZN9interrupt11BC1_IRQ_epiEv>
510: bd00 pop {pc}
.........
46c: b5f8 push {r3, r4, r5, r6, r7, lr}
...
4ce: bdf8 pop {r3, r4, r5, r6, r7, pc}
bool (*f)();
main()
{
while(1)
f();
}
Users browsing this forum: No registered users and 0 guests