On 08 Dec 2008, at 22:00, Prince Riley wrote:

Sorry, I think you are mistaken.. I did ask which ARM Architecture and if
you follow the thread back you'll see I even gave examples of what the
assembler options were for ARM

Here is the text of that post ....

I did not understand your questions that way

===========================================
Thanks for that reply ... and yes I meant IA32

A few additional points if I may ..

When you say the FP supports the ARM architecture my specific question is how does FP 'inform' *the GNU assembler back end of which ARM architecture
is intended ..*.

Answer: it does not inform the GNU assembler back end of which ARM architecture is intended. The code generator is not "the GNU assembler backend".

[snip GNU as command line options to select ARM variants]
*I need to be clear on how FP specifies one of these option

Answer: it does not specify any of those options.

and how the
'assemble' directive within the FP syntax is implemented to use ARM register and assembler sematics/syntax which the GNU Assembler assumes will be set by
the language 'front end'*

Answer: the frontend (the compiler) does not set any architecture option for the GNU assembler.

==================================================================

if you look at this list you'll see that ARM3,6, and 7 are among the
options.

Yes, but that's not the point. I think the confusion stems from your usage of "(GNU) assembler", by which you meant "code generator". The code generator is not part of the (GNU) assembler, but part of the compiler.

The "assemble" part of the compiler only consists of either calling an external assembler (such as the GNU assembler) or using the internal assembler (e.g., for IA32 and x86_64) to convert the code generated by the code generator into object code. Code selection happens before that phase.

The way it basically works is scanner -> parser -> code generator -> assembler -> linker. The scanner converts the source code into tokens, the parser converts those tokens into a parse tree, the code generator converts the parse tree into assembler code, the assembler converts the assembler code into object code, and the linker links together all object code (and libraries) into a program or library.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to