Traitement de tableau dans une routine asm

Signaler
Messages postés
19
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
3 novembre 2004
-
Messages postés
19
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
3 novembre 2004
-
Salut tout le monde,
J'explique mon problème: dans un programme en C++(borland c++builder6), j'ai declaré un tableau. Pour le traiter efficassement, j'utilise une routine en asm. Cependant, lorsque je charge les données, ca marche pas: exemple:
int tableau[]={
0x00000000,0x77073096,0xEE0E612C,0x990951BA};
...
__asm{
...
mov ebx,tableau[1] -->normalement ebx=0x77073096
}
Le problème est que le registre ebx passe à 0x96000000 au lieu de 0x77073096...
Est-ce que kk1 sait comment faire pour resoudre le problème?
Merci.

5 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
ton tableau est declare hors de la fonction, si oui sera a traiter exactement comme sur MSAM (ou autre):
mov ebx, tableau[index*4]

int est de taille 4 octets !!!
BruNews, ciao...
Messages postés
60
Date d'inscription
dimanche 8 décembre 2002
Statut
Membre
Dernière intervention
1 juillet 2004

Ptet qui a déjà kelke chose dans le registre, parce ke je crois que lorsque l'on fai un mov a,b , b est additionné a tous ce ki est dans a...

Corrige moi si je me trompe ...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Rassure toi, tu te trompes. Il y a toujours qqchose dans un registre.
BruNews, ciao...
Messages postés
19
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
3 novembre 2004

Ok, merci NewBurns, c'etais bien ça...
A plus.
Messages postés
19
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
3 novembre 2004

Merci BurNews (et pas NewBurns, desolé, mais j'ai bu ce matin...).