begin process at 2008 09 06 09:12:36
1 237 663 membres
60 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 : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) [ Archives / c, c++ et asm ] (papiboff)

j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 08/04/2006 12:26:37

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

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 08/04/2006 16:42:04

patatalo
Membre Club
(Admin CS)
salut,




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

@++

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 08/04/2006 16:45:18

patatalo
Membre Club
(Admin CS)
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.

@++

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 08/04/2006 16:52:33

patatalo
Membre Club
(Admin CS)
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]
...

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 09/04/2006 11:53:19

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

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 09/04/2006 23:36:34

patatalo
Membre Club
(Admin CS)
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.

@++

Re : j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) le 10/04/2006 12:23:25

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


Classé sous : mov, dec, eax, ecx, ebx

Participer à cet échange

Livres en rapport

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