=AlexD= (10.03.2010 06:57 - 07:04, просмотров: 173) ответил Evgeny_CD на Я не спец по DSP, но как там все эти кучи аккумуляторов и пр. добра сохранять? С учетом длины конвейера.
Нормально сохранять, командами, конвейер то тут причём.
_ContextSwitcher_ISR:
//--------------------------------------------------------------------------
//
// Save return address
//
[--sp] = reti;
//--------------------------------------------------------------------------
//
// Save context
//
[--sp] = rets;
[--sp] = astat;
[--sp] = fp;
[--sp] = (r7:0,p5:0);
[--sp] = i0;
[--sp] = i1;
[--sp] = i2;
[--sp] = i3;
[--sp] = b0;
[--sp] = b1;
[--sp] = b2;
[--sp] = b3;
[--sp] = l0;
[--sp] = l1;
[--sp] = l2;
[--sp] = l3;
[--sp] = m0;
[--sp] = m1;
[--sp] = m2;
[--sp] = m3;
[--sp] = a0.x;
[--sp] = a0.w;
[--sp] = a1.x;
[--sp] = a1.w;
[--sp] = lc0;
[--sp] = lc1;
[--sp] = lt0;
[--sp] = lt1;
[--sp] = lb0;
[--sp] = lb1;
//--------------------------------------------------------------------------
//
// Switch stack pointers and manage interrupt enable status
//
p5.l = lo(IMASK); // save IMASK value
p5.h = hi(IMASK); // (global interrupts enable state)
r7 = [p5]; //
[--sp] = r7; //
sp += -12; // reserve space for calling function incoming parameters
r0 = sp;
call _OS_ContextSwitchHook;
sp = r0;
nop; nop; nop; nop;
sp += 12; // restore space for calling function incoming parameters
r0 = [sp++]; // load IMASK value
[p5] = r0; // (global interrupts enable state)
//--------------------------------------------------------------------------
//
// Restore context
//
lb1 = [sp++];
lb0 = [sp++];
lt1 = [sp++];
lt0 = [sp++];
lc1 = [sp++];
lc0 = [sp++];
a1.w = [sp++];
a1.x = [sp++];
a0.w = [sp++];
a0.x = [sp++];
m3 = [sp++];
m2 = [sp++];
m1 = [sp++];
m0 = [sp++];
l3 = [sp++];
l2 = [sp++];
l1 = [sp++];
l0 = [sp++];
b3 = [sp++];
b2 = [sp++];
b1 = [sp++];
b0 = [sp++];
i3 = [sp++];
i2 = [sp++];
i1 = [sp++];
i0 = [sp++];
(r7:0,
p5:0) = [sp++];
fp = [sp++];
astat = [sp++];
rets = [sp++];
//--------------------------------------------------------------------------
//
// Restore return address and go to the process's application code
//
reti = [sp++];
rti;
._ContextSwitcher_ISR.end:
Три кита на которых зиждется реклама: враньё, преувеличение, замалчивание. Новости СМИ - это политическая реклама.