[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