[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