Hello<br><br>Thanks for that reply ... and yes I meant IA32 <br><br><br><br>A few additional points if I may ..<br><br>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 ...<br>
<br>The following is just a snippet from the GNU Assembler manual showing the ARM processore option codes ...<br><br>-mcpu=processor[+extension...]<br>This option species the target processor. The assembler will issue an error message if an<br>
attempt is made to assemble an instruction which will not execute on the target processor. The<br>following processor names are recognized: arm1, arm2, arm250, arm3, arm6, arm60, arm600,<br>arm610, arm620, arm7, arm7m, arm7d, arm7dm, arm7di, arm7dmi, arm70, arm700,<br>
arm700i, arm710, arm710t, arm720, arm720t, arm740t, arm710c, arm7100, arm7500,<br>arm7500fe, arm7t, arm7tdmi, arm8, arm810, strongarm, strongarm1, strongarm110,<br>strongarm1100, strongarm1110, arm9, arm920, arm920t, arm922t, arm940t,<br>
arm9tdmi, arm9e, arm946e-r0, arm946e, arm966e-r0, arm966e, arm10t, arm10e,<br>arm1020, arm1020t, arm1020e, ep9312 (ARM920 with Cirrus Maverick coprocessor),<br>i80200 (Intel XScale processor) iwmmxt (Intel(r) XScale processor with Wireless MMX(tm)<br>
technology coprocessor) and xscale. The special name all may be used to allow the<br>assembler to accept instructions valid for any ARM processor.<br>In addition to the basic instruction set, the assembler can be told to accept various extension<br>
mnemonics that extend the processor using the co-processor instruction space. For example,<br>-mcpu=arm920+maverick is equivalent to specifying -mcpu=ep9312. The following extensions<br>are currently supported: +maverick +iwmmxt and +xscale.<br>
<br><div class="gmail_quote">I need to be clear on how FP specifies one of these option 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'<br>
<br>Thanks<br><br>Prince<br><br>On Sat, Dec 6, 2008 at 4:55 PM, Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be">jonas.maebe@elis.ugent.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
On 06 Dec 2008, at 23:32, Prince Riley wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
After reading the manuals I see that FP uses the GNU tools as back-ends and<br>
they support ARM ... but it that the extent of the support here.<br>
For example, the ASM directive in FP targets the IA33 processor<br>
semantics/syntax ...not ARM ..<br>
</blockquote>
<br></div>
I guess you mean IA32 rather than IA33. Anyway, FPC is always compiled with support for creating code for one single cpu architecture. The currently supported ones are i386 (=IA32), x86_64, powerpc (32 bit), powerpc64, sparc and ARM. Apart from generating code for one such architecture, every such compiler can also only parse assembler code written for that same architecture (since there is no way the compiler can translate assembler code written for one architecture into assembler code for another architecture).<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am not opposed to working up the missing pieces if that's necessary, but<br>
before beginning that work, I wanted to check with the group and see<br>
if anyone had already started down this road and if so how far along have<br>
you gotten ?<br>
</blockquote>
<br></div>
ARM support works fairly well (except for EABI support, which still has some bugs).<br>
<br>
<br>
Jonas<br>
_______________________________________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br>
</blockquote></div><br>