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 : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) [ Archives / c, c++ et asm ] (papiboff)

samedi 8 avril 2006 à 12:26:37 | j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

papiboff

bj
si je mets le buffer "somme " en dd avec charge eax et que j'ajoute deux 'dec ebx ' , ben , marche pas correctement ; (pêrqué ???? = en french)
svp

invoke BitBlt,hdc,0,0,widt,height,lwnd, 0,0,0CC0020h
invoke GetBitmapBits,map,troilen,addr[mem]

mov ebx,deuxlen ; --- > dans le cas en dd ; quatrelen
mov ecx,troilen
cli
inc len
count:

mov eax,nimb ; -> "nimb" ->nombre d'images en bleu
.if len <= ax
xor eax,eax
mov al,[mem+ecx] ; -> (mem) -> buffer images
add [bsom+ebx] ,ax ;-> ---------- buffer somme --en dd eax
.endif

mov eax,nimr ; la même en rouge
.if len <= ax
xor eax,eax
mov al,[mem+ecx-1] ; la même
add [rsom+ebx] ,ax  ; l------------------a même
.endif

mov eax,nimv   ; etc en vert
.if len <= ax
xor eax,eax
mov al,[mem+ecx-2] ; etc
add  [vsom+ebx],ax  ; ----------------etc
.endif

dec ecx
dec ecx
dec ecx
dec ebx
dec ebx

jnz count
sti
merci
a+
papi

samedi 8 avril 2006 à 16:42:04 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

patatalo

Membre Club Administrateur CodeS-SourceS
salut,




c quoi ce 'cli/sti' tu fais un driver ?
si tu programme avec masm32, tu programme avec l'api windows.

@++

samedi 8 avril 2006 à 16:45:18 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

patatalo

Membre Club Administrateur CodeS-SourceS
re,




a propos de GetBitmapBits:
The GetBitmapBits function is not implemented in the Win32 API. This function is provided for compatibility with 16-bit versions of Windows. Win32-based applications should use the GetDIBits function.

@++

samedi 8 avril 2006 à 16:52:33 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

patatalo

Membre Club Administrateur CodeS-SourceS
encore,




LONG GetBitmapBits(
  HBITMAP hbmp,      // handle to bitmap
  LONG cbBuffer,     // number of bytes to copy
  LPVOID lpvBits     // buffer to receive bits
);

donc pour acceder au buffer:
mov esi,[mem]
mov al,[esi+ecx-2]
...

dimanche 9 avril 2006 à 11:53:19 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

papiboff

bj
le bout de programme que j'ai mis , fonctionne tres bien avec GetBitmapBits et les bsom,rsom,vsom en DW mais pas en DD
ok je va tester GetDIBits
pour "mov al,[esi+ecx-2] " j'ai ben peur que masm32 dit ; je prends quoi ; du db ,du dd , du dq ? même avec "mov al" ; non !.
pour cli,sti ; ils bloquent les interrups
quel avantage ? , d'utiliser esi ; paque [mem+ecx-2] fonctionne bien ;  lui (mem est déclaré en db) ,
mais pas avec bsom , rsom , vsom  en DD
j'ai l'impression que les 4 "dec ebx"  , dans le cas des bsom ,..,.., en dd , déclanche le "jnz count" avant  les 3 "dec ecx" ???
a+++
papi

dimanche 9 avril 2006 à 23:36:34 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

patatalo

Membre Club Administrateur CodeS-SourceS
lo,




* cli/sti te provoquera une exception, ce n'est pas à un programme utilisateur de choisir quand les interruptions doivent etre actives ou non et heureusement.
* mov al,[XX] est forcement un acces de type byte puisque al est de type byte.
* la derniere instruction dec declenche le flag non egal.

@++

lundi 10 avril 2006 à 12:23:25 | Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32)

papiboff

Réponse acceptée !
bj
heu ! pour le cli/sti , tu gagnes en gros 20% de speed ?
bon j'ai trouvé ; une horreur de programmation ? comme Dab .
a+
papi



Cette discussion est classé dans : mov, dec, eax, ecx, ebx


Répondre à ce message

Sujets en rapport avec ce message

Aligner des données pour le SSE [ par epineurien ] Bonjour à tous !J'ai un petit problème avec du code dont je mesure la vitesse: suivant la compilation, la vitesse varie du simple au double .J'expliqu Inversion de chaîne [ par Bidou ] Bonjour à tous,A vrai dire je suis plutôt nouveau en asm et pas très bon lol. Mais bon, faut bien commencer un jour hein. Pour me faire la main, j'ai Petit problème pour comparer (cmp) [ par smok1360 ] Bonjour à tous,Pour commencer, j'espère de ne pas avoir choisis le mauvais lieu pour poster, j'ai un petit peu hésité Donc, j'ai décidé d'apprendre l' Différences ??? [ par Arecibo ] Voila je debute en assembleur et j'aimerais savoir quelles sont les différences entre :-> mov eax, ebx et mov eax, [ebx]-> mov esi, eax et mov [esi], Pb registre DL [ par AlexMAN ] Bonjour, J'ai un ptit pb avec le code qui suit, au nivo du mov dl, [ecx] ://Renvoie pointeur sur fin de chaine (permet d'eviter l'utilisation de strca optimisation [ par sajid_morad ] salut tout le monde , j ai une parti du code en c++, que j ai voulu optimiser , le l ai reécri en asm , mai ça donne pas grand chose, si quelqu un po exception 13 lors du scan memoire haute [ par patatalo ] salut, pourquoi ce code de detection de memoire en mode 32 bits sans paging me donne une exception 13 sur certaines cartes meres ( ASUS ) a l'adresse inverser une chaine [ par MrdJack ] salut, je suis sur un projet de calculatrice me permettant de faire des calculs avec des nombres tres grands. chaque nombre est stocké dans la memoire [linux] read and open [ par sheorogath ] Bonjour,je débute un peu en assembleur et j'essaie de faire un programme qui lit le début d'un fichier dont le nom est entré par l'utilisateur.Voici l AT&T erreur de compilation etc... [ par maminovadu75 ] Bonjour, j'aimerais me mettre a l'assembleur mais j'ai quelque problème.voici mon code morceau de code pour trier un tableau de int : ( mélange de C/C


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.