[Oberon] Standalone BootLoader format
Paul Reed
paulreed at paddedcell.com
Thu May 14 12:20:20 CEST 2020
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
More information about the Oberon
mailing list