[Oberon] FJump and FixLink
Andreas Pirklbauer
andreas_pirklbauer at yahoo.com
Sun Sep 23 12:25:58 CEST 2018
> Thanks Jorg. Good pointers.
>
> > - are branch offsets in words or bytes?
>
> In words.
>
>> - how much RAM does the board have?
>
> 1MB SRAM.
>
> Now I see.
> To address 1MB we need = 20 bits If we present offset in words, we need = 20 - 2 = 18 bit. :-)
Just to add another remark on this topic. The official Oberon-07 compiler is in fact inconsistent:
- in ORG.FixLink: L1 := code[L] MOD 40000H; (*18 bits*)
- in ORG.FixLinkWidth: L1 := code[L0] MOD C24; (*24 bits*)
Does anyone know why?
PS: I would prefer to use C24 throughout. That way the compiler also automatically
works ob boards with larger memories.
More information about the Oberon
mailing list