[Oberon] Standalone BootLoader format

Tomas Kral thomas.kral at email.cz
Tue May 12 13:45:50 CEST 2020


On Tue, 12 May 2020 12:52:21 +0200
Jörg Straube <joerg.straube at iaeth.ch> wrote:

> I don’t why ORP.Module sets dc := 8 to leave space for 7 entries.

Actually I boot it with SW[0] on, at address 0, then.

When I add 3 more dummy variables, a, b, c.
It still jumps over 7 words, while SB goes from 0 to 16 (0 to 8 with
x, y, z only).
So the gap of 7 words is not a placeholder for globals, probably?

When I compile the same code with Oberon-0 compiler on risc, and arm
(OSPX...), I got this respectively,

(* risc *)
   0 4EE90004   SUB SP SP       4
   1 AFE00000   STW  LNK SP       0
   2 40000000   MOV R0 R0       0
...
  31 8FE00000   LDW LNK SP       0
  32 4EE80004   ADD SP SP       4
  33 C700000F   B LNK

(* arm *)
   0 E7000000	B       0
   1 40000000	MOV R0 R0       0
...
  26 40000000	MOV R0 R0       0
  27 C7000000	B R0

On arm it jumps to the next instruction word. While on risc it has
different sequence, but boots and count leds as well on real h/w.

-- 
Tomas Kral <thomas.kral at email.cz>


More information about the Oberon mailing list