Re: A (mild-mannered) defense of RosAsm Rocks !!!
From: donkey (donkey*nospam*_at_ntl.sympatico.ca)
Date: 02/29/04
- Next message: donkey: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Previous message: Betov: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- In reply to: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Next in thread: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Reply: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sun, 29 Feb 2004 05:15:48 -0500
Well, if your response wasn't so pathetic it would just make me laugh.
You have only managed to demonstrate a complete lack of understanding of
the way the Windows API in NT5 works. All functions that have a Unicode
and ANSI implementation are Unicode first, the ANSI version of the
function just converts the string and calls the Unicode implementation.
For example GetStatusTextA begins with this :
invoke lstrlenA,[pString]
mov esi,eax
lea eax,[esi*2+2]
invoke LocalAlloc,040h,eax
mov edi,eax
<test for zero>
invoke MultiByteToWideChar,CP_ACP,1,[pString],esi,edi,esi
Obviously there is no conversion necessary to call the Unicode version
of the function. However, this API is not available in Win9x without the
Unicows DLL that essentially does the same thing in reverse. For the
ANSI call on an NT system the extra calls add quite a few clocks in this
case.
Of course conditional assembly let's you avoid something done by the OS,
I can avoid trying to load msimg32.dll if I am compiling for NT4 but
have it loaded for NT5 and have an internal wrapper compiled for the NT$
version assembled instead. If you attempt to load it under NT4 your
application will not start or an attempt to call ColorHLSToRGB will GPF.
So, not to put too fine a point on it, if you have no understanding of
the API and wrapper functions then you should keep your ignorant mouth
shut and read a bit more about the API. But then that would be something
that flies against the philosophy of a CowardAsm user, generally the
acceptable practice is just to open their big mouths and look like idiots.
Oh by the way the Coward is the *** that wrote the peice of garbage
you call an assembler.
Donkey.
The Half A Wannabee wrote:
> "donkey" <donkey*nospam*@ntl.sympatico.ca> wrote in message
> news:vFg0c.68566$ee3.696483@news20.bellglobal.com...
>
>
>
>
>>Conditional assembly has nothing to do with keeping code size low. If
>>you had any grasp of the API you would realize that it is sometimes
>>advantageous to compile separate executables targetted to the Windows
>>version it will run on.
>
>
> And you cannot do this in RosAsm, you think ? lol.
>
>
>>For example NT5 (2K/XP) use wrapper functions
>>for ANSI calls. This can add in some cases (like GetWindowTextA) several
>>hundred clocks to the call as opposed to it's Unicode couterpart.
>
>
> ???? What are you talking about here. DoesNT use wrapper functions. Please
> expain this more clearly. As you say, I am not that known to this Os, so I
> dont understand. How can you avoid the wrappers ?
>
>
>>Conditional assembly let's you build a Unicode and ANSI version from the
>>same source.
>
>
> How come ? How can conditinal assembly avoid something done by the OS ? And
> how can the same functionality not be done inside the code ? At little loss.
>
>
>>In a great many cases the library itself (DLL) is not
>>available on all OS versions, an untargetted application will fault at
>>startup when it tries to load the DLL.
>
>
> This never happens without depending on theese other DLLs. This is part of
> the no end troubles that using libraries like that will get you in.
> Optimizing a GetWindowTextA call seems pretty unneeded to me. you NEVER need
> to call it. Not ONCE ! EVER ! Unless of course, you are using it as cliboard
> between your other applications. Heck Donkey, is that what you do ?
>
>
> Conditional assembly is critical
>
>>to building applications that are optimal for their target OS and if
>>CowardAsm can't do it,
>
>
> Why do you call it Coward asm ?
>
>
>>well then it is a useless peice of junk for most
>>real commercial purposes. It will never be more than a toy, and a badly
>>designed one at that, until it can use static code libraries and handle
>>conditional assembly. Even GoAsm which is considered a "bare-bones"
>>assembler supports both of these.
>
>
> Well until you can give a better use of conditional "assembly", than reading
> the GetWindowTextA, I cannot understand why you need it.
>
>
>>Also if the coward claims that he prefers sniplets to static libraries,
>
>
> I dont know who you are refering to. Can you please say it out load ?
> Otherwise people will start wondering if you are not talking about yourself.
>
>
>>are you obliged to keep every sniplet in a separate file and paste it
>>into the source ?
>
>
> No, I have never found use for a single snipplet yet. Havent even looked at
> them. RosAsm is more than powerful enough as it is.
>
>
>>That would be just stupid, better to just keep them
>>all together and compile only the ones you want based on flags, leaving
>>the others uncompiled. You cannot get around the fact that every modern
>>assembler requires conditional assembly, otherwise it's just more 1970's
>>style garbage.
>
>
> Maybe we cannot get around it. But first you will have to give a valid
> argument why they are so desperatly needed. The GetWindowTextA, doesnt cut
> it.
>
>
>>Donkey
>>
>
>
>
>
- Next message: donkey: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Previous message: Betov: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- In reply to: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Next in thread: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Reply: The Half A Wannabee: "Re: A (mild-mannered) defense of RosAsm Rocks !!!"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]