[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