[fpc-devel] Inline Constants (was On a port of Free Pascal to the IBM 370)

steve smithers stevie at collector.org
Mon Jan 30 21:32:29 CET 2012

> Mark Morgan Lloyd wrote
> Are you saying that IN ALL CASES it is completely transparent, and will 
> work with functions of any size, even on e.g. S/390 preceding G5?
> My reading of that document- and I stress that I will be very happy to 
> be corrected- is that the assembly source would have to be interrupted 
> every few K for a literal table.
> Bear in mind that since FPC generates assembly source code (for whatever 
> target CPU), it might be very inconvenient to interrupt the flow of a 
> large function. And please note that I am being very careful to 
> distinguish here between generic "assembler source" and "IBM Assembler", 
> which as I understand it is a large and complex field with its own 
> culture and conventions (like referring to an "output deck" :-)

Sorry?  Output deck is the output file that the Assembler writes object code
to. It used to be on cards, so card deck.  Remember, this stuff was designed 
50 years ago. Some of the terminology is like a bad smell.....

You're getting ahead of my notes again! :)  As there isn't a simple yes/no 
answer to this (is there ever a simple yes/no answer?) Can I defer answering
this until episode 3 when I talk about the mystical 4k limit on function or
data sizes.

Something to bear in mind though is a) that the differences are more between 
gas and the IBM assembler (whichever one you use) than between model numbers
of processor;  That b) The Porting GCC manual was written by microcode 
developers.  Lots of stuff that is available to us Assembler programmers is
implemented, not in the chip but in microcode.  As such it is available to me
but not to them.  and c) IBM have ulterior motives when they restrict the
development of GCC to a particular model, they sell processors.  A G5 would
fetch a considerable sum. (Cynical? Moi?)


More information about the fpc-devel mailing list