Error in Two long variable Passing in Funciton to Pointer

I am using Function to Pointer. i have definded this functin poiter in one structure with two long variable argument.
it is giving me error below.

Error C212: indirect call: parameters do not fit within registers.

though it is given in c51.pdf that it will pass funciton argument with two long variable, i face this error.

expecting solution as soon as possible

code is like this

typedef struct
unsigned long var1;
unsigned long var2;
void (*funptr) (unsigned long var1,unsigned long var2);


void main()

struct test *pt,t;

t.vars1 = 6550;
t.vars2 = 6551;
t.funptr = TESTING;
// where TESTING is fucntion definition macro

// here i get error listed above


More questions in this forum