[Oberon] Standalone BootLoader format
JR
joerg.straube at iaeth.ch
Thu May 14 13:25:47 CEST 2020
Tomas
We can try to help but we need a little bit of background info:
- What compiler do you use? Standard or modified by you?
- What environment do you want to run your program in? FPGA? which? Emulator? which?
- What is the task you would like to reach?
br
Jörg
> Am 14.05.2020 um 12:20 schrieb Paul Reed <paulreed at paddedcell.com>:
>
> Hi Tomas,
>
>> Yes, Oberon-0 emitting instructions into an array code[0..pc].
>
> Normally Prof. Wirth's compilers store instructions into an array 0..(pc-1) and pc is reported as the size.
>
> As already stated, if using standalone mode (MODULE* ), the first instruction is a branch to the body (over any procedures) and there are a further seven instructions reserved, e.g. for a branch when using interrupts in a von-Neumann (as opposed to modified Harvard) setup.
>
> The initial jump is a relative jump, so if you wanted to move it to the end of the program, you would need a negative displacement. But how will this help when the bootloader jumps to location 0?
>
> Note that the serial bootfile format is different from the on-disk format, it is same as the standard format from the original Project Oberon (ie len, adr, data, len, adr, data etc.) except that the start address field in the final (len=0) block is not used, it jumps to 0 regardless.
>
> See BootLoad.Mod for details.
>
> HTH,
> Paul
> --
> 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