stryker , to me your code should be in the programmer book of fame. Just like you said, just remove the word PTR if you don't want to use it....[ Guest what... It working perfectly just like before]. I am getting sick and tried of being so secretive with my project while everyone is helping me nearly all the way thought it since i joined this Board .... I swear to everyone I will come through for you soon. It's been rough but i think i got the final FLAWLESS layout EVER as far as the main coding is concern . The way i have been treated here my app is no longer as important to me, because the member of this board deserve so much more, but i must continue my mission and when i am done you will understand why i had to keep my mouth shut and do battle the best i could along while asking the strangest question EVER... Believe me i have grown to hate doing just that but i do believe it will pay off for everyone here in many small but great ways i hope .... It's is taking me so long because i want to know what everything is doing to the letter and there is just so many small things you should know when building ... Than you have to go out and fight for the impossible dream PROTECTION, PE, Equiption after all of that either you turn into a madman or a genius with tons of secret all over AGAIN...Than next thing you know you fall out of bed, bump your head and get AMNESIA for life. :) just kidding....just kidding....Knock on Wood... the power of suggestion should not be used here :( :( :( so don't try it.. :)

Well anyway i don't intent to get to caught up in that mess. I rather deal with the people that have perfected that sector and share the wealth. One man cannot do it all and have a life to live all at the same time. I must say this have been the greatest experience in my life. You guys have made an fairly decent ASM coder out of me in less than a year and a half but things just started kicking in to me during the past 6 months. Even thro i came down here i did not really think i would ever get more that a clue about it and end up running back to Delphi with-in a week a month...

::::::::::::::::::::::::::::::::::::::::::::::::::::::::
stryker's ... SURE and FLAWLESS WAY TO FIND OUT IF a BUFFER IS EMPTY OR NOT ... Massive Testing done by ME

::::::::::::::::::::::::::::::::::::::::::::::::::::::::
With PTR

mov eax, offset BUFFER_001 ; 1st Get Size and do error checking
xor ecx, ecx
@@:
mov dl, BYTE PTR
inc ecx
cmp dl, 0
jne @B
dec ecx
cmp ecx, 1
jl PACK_BUFFER_001

::::::::::::::::::::::::::::::::::::::::::::::::::::::::
WITHOUT P T R ... Posted on 2002-06-29 20:16:40 by cmax
Thank You, cmax!!! :)

If you want to check if a buffer is empty or not, the only thing your ever going to check is the first byte if it's 0 or not and that's it.
mov dl, BYTE PTR [buffer]

or dl, dl
jnz __buffer_is_not_empty
Just remember, if you're comparing with a zero use or-jz-jnz combo it's much faster than cmp dl, 0 ... :)
Posted on 2002-06-29 21:58:24 by stryker
On modern CPU's OR causes dependancies, and thus stalls.. use TEST ;)
Posted on 2002-06-30 04:05:56 by Maverick
or has to actually store the result of ORring the first operand with the second (even though the result is the same), test does not.
Posted on 2002-06-30 12:21:19 by comrade