[Oberon] maxCode limit in ORG

Joerg joerg.straube at iaeth.ch
Tue Apr 6 20:40:39 CEST 2021


It‘s indeed arbitrary. Keep in mind: it is in words. So, 8000 means ~32 kByte.
It’s generally a bad practice to generate modules bigger than 32 kByte. Altough there might be special cases where a split in several modules is not wanted or generates „strange“ module borders.

Indeed on my FPGA system with 15MB of memory and 1MB for color display, I could increase this limit, but I did not.


> Am 06.04.2021 um 17:27 schrieb Charles Perkins <chuck at kuracali.com>:
> Hi All --
> In Project Oberon's compiler source code, in ORG.Mod the 'maxCode=8000' constant definition limits how much code a single module can contain.  Is this an arbitrary limit or may it be relaxed in some cases?
> My first inclination that it is an arbitrary limit (in recognition of the small amount of memory available to the compiler in the original FPGA RISC system) is that it is a decimal rather than a hexadecimal value... if the limit were 8000H then I would think that we are concerned about not exceeding 16-bit signed value offsets or something like that.
> I imagine we do have actual non-arbitrary limits on how large a single module's code can get, based on PC relative addressing. If the maxCode constant is indeed arbitrary and if it were relaxed, what maximum value could it take?
> Many thanks,
> Chuck
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon

More information about the Oberon mailing list