Hi Hervé,

No disrespect for your work, but I'm inclined to concur with Timo regrading
AT&T vs. Intel.

Even though I usually preach "don't fix it if it isn't broken', I really
think that AT&T syntax
is broken by design, and we should use only Intel assembly, which is *much*
clearer.
After all, we're programming Intel CPU's, not AT&T telephone switchboards ;)

1) AT&T does not conform with Intel instruction reference.
   Intel syntax conforms with the instruction reference.

2) AT&T has a lot of quaint obscure directive voodoo.
   What little directives exist in Intel is clear and concise.

Eventually, I hope we'll get rid of all backwards & muddy AT&T assembly,
but until then I think we should at least not use it for new code.

Best Regards
L.


---------- Forwarded message ----------
> From: "Hervé Poussineau" <[email protected]>
> To: ReactOS Development List <[email protected]>
> Date: Mon, 02 May 2011 19:33:19 +0200
> Subject: Re: [ros-dev] [ros-diffs] [hpoussin] 51517: [freeldr] Add PXE
> "filesystem"
> Hi,
>
> The file is in AT&T syntax, as all asm files in
> reactos/boot/freeldr/freeldr/arch/i386/ , except fathelp.asm
> Sorry, I won't "fix" it, so you'll have to find someone to do it.
>
> Regards,
>
> Hervé
>
> Timo Kreuzer a écrit :
>
>>
>> Why did you write the asm code in AT&T syntax? Its both ugly and breaks
>> compilation with MSVC.
>> I've spent quite some time converting all asm code to MSVC friendly intel
>> syntax.
>> Could you please fix that?
>>
>> Regards,
>> Timo
>>
>> Am 01.05.2011 10:11, schrieb [email protected]:
>>
>>> Author: hpoussin
>>> Date: Sun May  1 08:11:43 2011
>>> New Revision: 51517
>>>
>>> URL: http://svn.reactos.org/svn/reactos?rev=51517&view=rev
>>> Log:
>>> [freeldr] Add PXE "filesystem"
>>>
>>> Added:
>>>     trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pxe.S   (with props)
>>>     trunk/reactos/boot/freeldr/freeldr/fs/pxe.c   (with props)
>>>     trunk/reactos/boot/freeldr/freeldr/include/arch/i386/pxe.h   (with
>>> props)
>>>     trunk/reactos/boot/freeldr/freeldr/include/fs/pxe.h   (with props)
>>> Modified:
>>>     trunk/reactos/boot/freeldr/freeldr/arch/i386/machpc.c
>>>     trunk/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c
>>>     trunk/reactos/boot/freeldr/freeldr/freeldr_base.rbuild
>>>     trunk/reactos/boot/freeldr/freeldr/freeldr_base64k.rbuild
>>>     trunk/reactos/boot/freeldr/freeldr/fs/fs.c
>>>     trunk/reactos/boot/freeldr/freeldr/include/arch/i386/hardware.h
>>>     trunk/reactos/boot/freeldr/freeldr/include/arch/i386/machpc.h
>>>     trunk/reactos/boot/freeldr/freeldr/include/freeldr.h
>>>
>>> Added: trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pxe.S
>>> URL:
>>> http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pxe.S?rev=51517&view=auto
>>> ==============================================================================
>>>
>>> --- trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pxe.S (added)
>>> +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pxe.S [iso-8859-1]
>>> Sun May  1 08:11:43 2011
>>> @@ -1,0 +1,97 @@
>>> +/*
>>> + *  FreeLoader
>>> + *  Copyright (C) 2011  Hervé Poussineau
>>> + *
>>> + *  This program is free software; you can redistribute it and/or modify
>>> + *  it under the terms of the GNU General Public License as published by
>>> + *  the Free Software Foundation; either version 2 of the License, or
>>> + *  (at your option) any later version.
>>> + *
>>> + *  This program is distributed in the hope that it will be useful,
>>> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>> + *  GNU General Public License for more details.
>>> + *
>>> + *  You should have received a copy of the GNU General Public License
>>> along
>>> + *  with this program; if not, write to the Free Software Foundation,
>>> Inc.,
>>> + *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>>> + */
>>> +
>>> +    .text
>>> +    .code16
>>> +
>>> +#define ASM
>>> +
>>> +#include<arch.h>
>>> +
>>> +/*
>>> + * U16 PxeCallApi(U16 Segment, U16 Offset, U16 Service, VOID
>>> *Parameter);
>>> + *
>>> + * RETURNS:
>>> + */
>>> +_pxe_function:
>>> +    .word    0
>>> +_pxe_entry_point:
>>> +    .long    0
>>> +_pxe_buffer_segment:
>>> +    .word0
>>> +_pxe_buffer_offset:
>>> +    .word0
>>> +_pxe_result:
>>> +    .word    0
>>> +
>>> +EXTERN(_PxeCallApi)
>>> +    .code32
>>> +    pushl    %ebp
>>> +    movl    %esp,%ebp
>>> +
>>> +
>>>
>>
_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to