begin process at 2008 09 05 18:29:47
1 237 429 membres
369 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : En masm32 coment déclarer un buffet variable [ Archives / c, c++ et asm ] (papiboff)

En masm32 coment déclarer un buffet variable le 04/04/2006 20:14:54

papiboff
j'ai fait une dll en asm pour lire les images d'une webcam et les additionner (aque moi j'ai que 15 jours d'asm en gros quoi) je donne à ma dll le width et le height de limage ben comment déclarer le buffet avec le width et le height de limage .data? --> en lecture dd pour 200x150 en Fixe rsom db 120004 dup (?) vsom db 120004 dup (?) bsom db 120004 dup (?) en buffet variable ? ?? moi pas savoir !.. merci papi

Re : En masm32 coment déclarer un buffet variable le 05/04/2006 13:39:38

nightlord666
Membre Club
Le buffet ? Tu es sur que tu ne confonds pas avec le buffer ?

Re : En masm32 coment déclarer un buffet variable le 05/04/2006 16:33:45

papiboff
BJ Rep: Ben si ; et tu crois que cela me rend moinssss z'intelligent ? .(pour les beuffffs ; oui ! ) (traduc dico ; intelligent = QI, pas intello ou ins-truite) paqueu à la frappe "un t" ? , "un r" ? , boffffff !. aque la question du forhum !??? ; c'est avec des amuses gueules ?.(je decode pour les beuffff s ; amuse geule = buffet ??? ..) ben sûr , si tu fumes la moquette ? ; alors là ; ben sûr , un "t"ou un"r" , c'est important pour la question ? ....... sniffff!. je me renseigniaise , pour les buffets variables ; auprès de mon menuisier "les buffets variables ; existent" ben et en asm ? (les buffers ben sûr ) . A+ papi

Re : En masm32 coment déclarer un buffet variable le 05/04/2006 16:48:42

nightlord666
Membre Club
Excuse c'est parce que tu t'es quand même trompé 3 fois (j'ai recompté ^^). Sinon il faut allouer de la mémoire à ton buffer avec une fonction API Win32 (je pense que GlobalAlloc marche). Si j'ai bien compris, tu veut faire un tableau dynamique comme ça : WIDTH /---------------------------------> | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 H | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 G | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 H | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \/0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? Pour ça il faut utiliser (en masm32) ceci : mov eax, w_size ;Width dans mon dessin mov ebx, h_size ;Height dans mon dessin imul eax, ebx imul eax, SIZEOF DWORD invoke GlobalAlloc, eax, 0 ;Donne à toutes les cases du tableau la valeur 0 mov mon_pointeur, eax

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 01:03:47

BruNews
(Admin CS)
pourquoi IMUL, risque de négatif dans les dims du tableau ???
Un seul MUL suffit, inutile d'amuser le processeur.

mov eax, w_size
mov ecx, h_size
shl eax, 2
mul ecx

ciao...
[ Lien ]
BruNews, MVP VC++

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 08:40:52

papiboff
bj ne t'excuses pas c'est juste pour la rigole de toutes façons je ne regarde pas ce que j'ecris ; oui , oui pour GlobalAlloc je va tester SIZEOF DWORD il sort d'ou ? (pitête en dd je mul par 4?(shl,2)) mais en pur asm ; ya pas !?.(je suis un défenseur du pur asm ; même avec 15j d'asm) je lis le buffer en linéaire en partant de la fin , paque plus speed merci t'est un pote pour la rep a+ papi

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 18:12:18

nightlord666
Membre Club
Personnellement, je ne pense pas que ce soit possible en pur asm, mais il faudrait demander à un spécialiste (BruNews t'es encore là ?). En fait, l'allocation de mémoire est une fonction de l'OS, donc il est impossible de le faire séparèment de l'OS, et donc en pur asm.

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 18:23:23

BruNews
(Admin CS)
C'est bien clair, la mémoire tout comme les périphs c'est l'OS qui gère donc on lui demande.

ciao...
[ Lien ]
BruNews, MVP VC++

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 18:27:49

nightlord666
Membre Club
Le pire c'est que tu demande comment le faire en MASM32, mais que tu veut le faire en pur asm ^^. Le MASM32, c'est justement fait pour pouvoir utiliser toutes les APIs Windows. La reponse est donc claire : pour déclarer un buffer, il faut absolument le faire en utilisant l'OS et cette ligne : mov eax, w_size mov ecx, h_size shl eax, 2 mul ecx mov ecx, SIZEOF DWORD shl eax, 2 mul ecx invoke GlobalAlloc, eax, 0 mov mon_buffer, eax Je pense que c'est la reponse définitive, à moins que je n'ai fait une erreur dans mon code asm (copier-coller rapide, pas testé).

Re : En masm32 coment déclarer un buffet variable le 06/04/2006 18:29:22

nightlord666
Membre Club
Et en fait, SIZEOF est une macro de MASM qui renvoie la taille en octets du type : pour db, c'est 1, pour dw, c'est 2 et pour dd, c'est 4 je pense.


[Page 1 Page 2]
Classé sous : variable, db, déclarer, dup, buffet

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS