iit (07.02.2006 13:31, просмотров: 1) ответил Alex03 на Както Вы сумбурно выражаетесь. Хоть бы код весь приводили. Ну и компилятор указывали до кучи.
Так-то я указал, что компилятор RVDS. А код - Попробуйте выполнить и посмотрите на значения регистров перед вызовом func1 и после ее выполнения.
UINT32 func1(UINT32 u);
UINT32 func2 (UINT32 t1, UINT32 t2, UINT32 t3, UINT32 t4, UINT32 t5, UINT32 t6, UINT32 t7);
void main (UINT32 data)
{
UINT32 temp;
temp = temp + 1;
temp = temp + data;
T0TC = temp;
func1(1);
while (1)
{
}
}
UINT32 func1(UINT32 u)
{
UINT32 temp;
UINT32 temp1;
UINT32 temp2;
UINT32 temp3;
UINT32 temp4;
UINT32 temp5;
temp = u;
temp = temp + u + 6;
temp1 = u;
temp2 = u + 1;
temp3 = u + 2;
temp4 = u + 3;
temp5 = u + 4;
temp1 = func2(temp1, temp2, temp3, temp4, temp5, 6, 7);
return temp1;
}
UINT32 func2 (UINT32 t1, UINT32 t2, UINT32 t3, UINT32 t4, UINT32 t5, UINT32 t6, UINT32 t7)
{
UINT32 result;
result = t1 + t2 + t3 + t4 + t5 + t6 + t7;
return result;
}