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"
<hpoussin(a)reactos.org>
To: ReactOS Development List <ros-dev(a)reactos.org>
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 hpoussin(a)svn.reactos.org:
>
>> 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/…
>> ==============================================================================
>>
>> --- 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
>> +
>> +
>>
>