Hi!

20-Июл-2004 22:04 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

EA> So "small bugfix" must be clarified as "if you use ONE (not sure which)
EA> dsk.c patch from Arkady,

     "If you use 2035a...

EA> you *must* also use this 'small bugfix' patch,

     ...you must apply this patch".

EA> Arkady, if you do not start explaining in more detail  WHY  you patch
EA> WHAT  and  HOW,

     WHY: bug; my fault. WHAT: dsk.c. HOW: changing source. _Here_ all clear
and fix here is a fix, not change, thus here not need more explanations.

EA> The whole optimization of this code seems to have started because some
EA> compiler created "big" code "if ... then AL=0 else AL=1", with some
EA> jumps...

     And because BC doesn't optimizes far pointers and long values.

EA> Or try:
rp->>r_ai->AI_Flag = 0;
EA> if (!(descflags & DF_NOACCESS)) rp->r_ai->AI_Flag++;

     Eric, I already say you, that you have not enough experience in
studying listings. Original listing for access AI_Flag includes:

mov         es,word ptr [bp-10H]
mov         bx,word ptr es:[bx+13H]
mov         si,word ptr [bp-0eH]
mov         es,word ptr es:[si+15H]

Now double this code, and you get your "optimization". In theory, for some
compilers this may be solved with help of another temporary vatiable:

        UBYTE flag = 0; if (...) flag++;
        rp->r_ai->AI_Flag = flag;

But, at least for TC/BC, such code (eve with "register" word) usually
generates stack variable.

     Thus: least possible 16-bit assembler code is 7-8 bytes. Currently, for
my C code generated 10 bytes. _If_ you wish to optimize it more, try this.
If you find (not suggest!) way to get shorter code (without hardly
disturbing source) - fine. I already do what I may.

EA> Whatever,  this discussion has been going on off-list for 10 mails or
EA> so, while we are actually only talking about at most +/- 6 byte
EA> optimization.

     So why you continue this thread?

EA> And no, if it is 7 byte, you do not have to write a clarifying answer on
EA> list.

     ?




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to