Re: Donkey Strikes Again !



hutch-- wrote:
It seems the "buddy" system is still alive and well when it comes to
misleading beginner programmers about the Windows register preservation
convention.

As a direct repeat of "f0dder's Fabulous Follies" we get this
misinformation again posted to mislead beginner programmers.

==========================================
*) in callback routines, such as wndprocs, you must preserve EBX, ESI,
EDI, EBP, ESP. To avoid bull from a certain person,
http://dictionary.reference.com/search?q=preserve - in other words, you
don't have to do anything about those registers unless you mess with
them. You can freely trash EAX, ECX, and EDX in callbacks (EAX is used
as return value though, so be sure to return something sensible).
==========================================

Minus the trailing waffle, this is the same nonsense parroted again.


*) in callback routines, such as wndprocs, you must preserve EBX, ESI, EDI, EBP, ESP.


==========================================
Enough of this stupid argument with two people saying exactly the same
thing but one too stubborn to admit it. I have closed this thread and
if it continues in another I will close that as well. This argument is
over as far as Win32Asm community is concerned and the answer is...
==========================================

Noting that Donkey cannot censure or close posting in this newsgroup, I
will correct BOTH of you here yet again as flogging this blunder
misleads programmrs who are trying to learn assembler.

In the stated context above, the comments are not saying the same thing
and asserting any special condition whatsoever for a callback is a
plain tecnical mistake.

Now while I am used to f0dder rowing his own boat at the expense of
beginner programmers, it is not something I expect from Donkey who has
an excellent track record of helping people learning assembler.

As with f0dder, I would expect Donkey to correct this technical mistake
and not make it again as the register preservation convention for
Windows is simple if you get it the right way the first time.

Regards,

hutch at movsd dot com

Hi Hutch,

Which of the following registers does not need to be preserved in a callback ?

EBX, ESI, EDI, EBP and ESP

And for what reason are you allowed to trash them at will. If you can answer that I will reopen the thread and appologize profusely.

Donkey
.