cs_krater
Messages postés22Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention17 juin 2006
-
3 juin 2003 à 10:31
TotalIllusion
Messages postés14Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention14 octobre 2003
-
4 juin 2003 à 16:03
Bonjour,
je voudrait utiliser un tableau de ce style :
exemple db 0,8,0,0,0,8,0,8,0,0,0,0,0,8,8,8,8,12,8,8,8,8,0,0,0,0,0,8,0,8,0,0,0,8,0
seulement avec plus d'élément ml me met un message d'erreur : statement too complexe
il ne veu pas comprendre un tableau de plus de 48 élément alors que j'en voudrais au moins 64 voir bien plus
savez vous comment faire pour reésoudre mon probleme
cs_krater
Messages postés22Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention17 juin 2006 3 juin 2003 à 15:43
J'ai fait comme tu as dit et donc ecrit de cette façon :
exemple db 0,0,0,5,0,0,0,
db 0,0,0,5,0,0,0,
db 0,0,0,5,0,0,0,
db 0,0,5,5,5,0,0,
db 0,5,5,15,5,5,0,
db 0,5,0,0,0,5,0,
db 5,5,0,0,0,5,5,
db 0,5,0,0,0,5,0,
mais lorsque je compile, cela donne ceci :
statement too complex
je précis eque je travaille avec masm au cas ou ca changerai quelque chose
TotalIllusion
Messages postés14Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention14 octobre 2003 3 juin 2003 à 16:29
Dans ton tableau que tu avais declarer tout fonctionne, cest juste la maniere que tu la declarer qui fais que ca ne fonctionnais pas car tu avais mit des virgules a la fin de tes ligne alors qu'il ne devrais pas y en avoir.Essaie ceci si tu veut et sa fonctionne je les tester aussi
exemple db 0,0,0,5,0,0,0,0
db 0,0,0,5,0,0,0,0
db 0,0,0,5,0,0,0,0
db 0,0,5,5,5,0,0,0
db 0,5,5,5,5,5,0,0
db 0,5,0,0,0,5,0,0
db 5,5,0,0,0,5,5,0
db 0,5,0,0,0,5,0,0
Je te conseille d'utiliser un tableau en 2 dimension (decrit dans mon message precedent) car sa va etre plus facile a gerer, a mon avis biensure.
Bonne continuation
By TotalIllusion
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_krater
Messages postés22Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention17 juin 2006 3 juin 2003 à 16:52
Je comprend ce que tu me dis mais tu pourrais expliciter ce dont tu parle avec INTEGER
deplus je croyais que dup remplisser le tableau avec un nombre défini or je voudrais entrer le tableau comme dans l'exemple, c'est en fait un tableau de dessin
TotalIllusion
Messages postés14Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention14 octobre 2003 4 juin 2003 à 00:41
INTEGER est definie dans masm , tu a dit que tu utilisais MASM et jai vue que tu entrais des integer donc jai penser que cest cela que tu voulais et pour le DUP cest pas pour rien que jai mit entre parentese (?) sa fais que la memoire est initialiser mes non definie.Exemple si je veut un tableau de 16 qui contient comme valeur definie 8 jaurais declarer mon array comme suit:
Tableau BYTE 16 (8)
et la oui tu aurrais des valeur predefini mais que tu peut toujour changer par la suite car ce nest pas des constance mais bien des valeur .
Bonne continuation
By TotalIllusion
cs_krater
Messages postés22Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention17 juin 2006 4 juin 2003 à 09:08
en effet ce tableau est bien compilé, mais concernant l'adressage il est différent car le résultat n'est pas celui attendu
j'utilise un adressage itératif ou la ligne suivante est enfait le total d'element de la ligne (x)*nombre de ligne et le nombre d'element de la ligne en question(y)
soit x*(nb ligne)+y
TotalIllusion
Messages postés14Date d'inscriptionjeudi 8 mai 2003StatutMembreDernière intervention14 octobre 2003 4 juin 2003 à 16:03
x*(nb ligne)+y ??????
Ton tableau que tu avais declarer ne permet que de faire un adressage lineaire du genre:
Adresse = Base + Index * Element_Size
MOV BX,TON_INDEX
ADD BX,BX
MOV AX,ARRAY[BX]
Pour des coordonner cartesien voici le calcul a faire, cest pour 2 dimension donc X et Y
Address = Base_Address + (rowindex * col_size + colindex) * Element_Size
En fais je ne sais pas si j'ai repondu a ta question donc si ce nest pas le cas fais le moi savoir car ce netais pas claire a mes yeux.
Bonne continuation