Bonjour,

un appel à l'aide
pour déchiffrer un bout de code...

Moi et le C avec les pointeurs, ça fait au moins 312000
je m'en remets à une âme charitable du forum qui voudra bien m'éclairer...

Voici donc le code en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#define NBP_BUFFER 810
#define N_FRAME 71
 
unsigned char huge *ACQ_POINTER;
long far ENTRY_POINT = 0xdc000000;
 
Init_Sample_Array(tab)
int huge *tab;
{
	ACQ_POINTER = tab;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
acquisition(tab)
int huge *tab;
{
	Init_Sample_Array(tab);
 
	pseudo_int(0);
 
	for (int i = 0 ; i<25 ; i++)
	{
		pseudo_int(0);
		//...
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pseudo_int()
{
	register char far *pointer;
	register int time;
 
	pointer = ENTRY_POINT;
	LINK_FAIL = 0;
 
	*ACQ_POINTER++ = pointer[0xc0];           /*Get Lower byte */
	time = pointer[0xc1]&0x0f;
	if ((time & 0x08) != 0)            /* If negate */
		time |= 0xf0;                   /* 4 upper bit extend to sign */
	*ACQ_POINTER++ = time;
 
}
après, j'ai ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
short int huge signal[NBP_BUFFER*N_FRAME];
acquisition(signal);
je cherche donc à savoir comment est constitué "signal"
c'est la partie dans "pseudo_int" qui me pose problème

déjà, j'ai du mal à saisir ce qui est fait...
est-ce que le contenu de "pointeur" est mis bout à bout dans "signal"??
ou bien est-ce que c'est cumulé à chaque passage dans "pseudo_int"??

après, c'est quoi exactement ces manip avec la variable "time"??

Merci d'avance