Les tableaux dans masm32 [Résolu]

cricri_b34 223 Messages postés mercredi 21 juillet 2004Date d'inscription 15 février 2006 Dernière intervention - 24 déc. 2005 à 16:22 - Dernière réponse : cs_patatalo 1466 Messages postés vendredi 2 janvier 2004Date d'inscription 14 février 2014 Dernière intervention
- 29 déc. 2005 à 10:43
salut,

j'ai une procedure en delphi que jveux traduire en assembleur, mais la, ma procedure utilise un tableau pour enregistrer des informations.

donc voici ce que j'aimerais faire en masm32
;..............................................;


.data


; déclarer un tableau global de 100 boolean initialisé a false


.code


LOCAL I: BYTE
.repeat
; mettre I dans l'élément I du tableau


inc I


.until (I==100)

;..............................................

c pas tout a fait ce que je veux faire, si je réussi a faire ca
je vais probablement réussi a faire le reste...
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 25 déc. 2005 à 11:14
3
Merci
.data
mbool 100 dup(0)

.code
mov eax, offset mbool
mov edx, 1 ; // TA VALEUR A INSERER
mov ecx, 100
toBOOL:
mov [eax], edx
add eax, 4 ; PROCHAIN BOLL DU TABLEAU
dec ecx
jnz short toBOOL

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de BruNews
cricri_b34 223 Messages postés mercredi 21 juillet 2004Date d'inscription 15 février 2006 Dernière intervention - 25 déc. 2005 à 16:32
0
Merci
cool merci
Commenter la réponse de cricri_b34
cricri_b34 223 Messages postés mercredi 21 juillet 2004Date d'inscription 15 février 2006 Dernière intervention - 25 déc. 2005 à 16:37
0
Merci
eee, Si jdois appeler un api dans la boucle quesque jfais?
Commenter la réponse de cricri_b34
cricri_b34 223 Messages postés mercredi 21 juillet 2004Date d'inscription 15 février 2006 Dernière intervention - 25 déc. 2005 à 17:11
0
Merci
mbool 100 dup(0)
;marche pas

jpense que masm32 veut qu'on mette un type apres mbool
j'ai mi WORD parce que j'ajoute 4 a eax (donc 4 octect?)
Je ne c pas si j'aurais pu mettre BOOL

j'ai aussi remplacer eax par une variable DWORD..... ya pas d'erreur mais jveux etre sur que j'ai le droit

et puis finalement j'aimerais savoir comment récupérer la valeur d'un élément du tableau
Commenter la réponse de cricri_b34
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 25 déc. 2005 à 19:19
0
Merci
oh oui groose faute de frappe de ma part:
.data
mbool DD 100 dup(0) ; 4 octets chacun

Sinon boucle devrait aller telle quelle.
Tu peux appeler une API dans la boucle mais dans ce cas il faudra remplacer les 3 registres principaus par ESI, EDI et EBX car EAX, ECX et EDX perdent leurs valeurs entre 2 appels externes.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Commenter la réponse de BruNews
cricri_b34 223 Messages postés mercredi 21 juillet 2004Date d'inscription 15 février 2006 Dernière intervention - 25 déc. 2005 à 20:50
0
Merci
et pour vérifier si contenu d'un élément du tableau est égale a 1?
Commenter la réponse de cricri_b34
cs_patatalo 1466 Messages postés vendredi 2 janvier 2004Date d'inscription 14 février 2014 Dernière intervention - 29 déc. 2005 à 10:43
0
Merci
salut,

si pas de registre d'index:

test mbool[(0...(MAX-1))*4],-1
je is_false

en supposant que esi est l'index
esi = (0...(MAX-1))
test mbool[esi*4],-1
je is_false

@++
Commenter la réponse de cs_patatalo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.