[Oberon] PO2013 - ORL Linker Static Buffer

Jörg joerg.straube at iaeth.ch
Mon May 18 08:54:28 CEST 2020


No, it does not allocate anything from the heap.
Please read chapter 8 carefully (Figure 8.1) to understand the 7 different memory areas the OberonOS uses.
https://inf.ethz.ch/personal/wirth/ProjectOberon/PO.System.pdf

Control question to check the understanding
- what are the 7 reagion and how big are they?
- Try to find out what region the Linker (ORL) is using? (it‘s not the heap, so 6 to go :-)

Br
Jörg

> Am 18.05.2020 um 08:19 schrieb Tomas Kral <thomas.kral at email.cz>:
> 
> Hi,
> 
> I use rather earlier version of the above. Looking at buffer
> allocation code part.
> 
> binStart := Modules.AllocPtr; binMTOrg := binStart + 32; binroot :=
> NIL; res := 0; limit := Kernel.heapOrg; DEC(limit, 8000H);
>    binAllocPtr :=  binStart+ 256; i:= 0;
>    WHILE i < 256+DescSize DO SYSTEM.PUT(binStart + i, 0); INC(i, 4)
> END ;
> 
> This sets aside a static block from the heap, if I got the idea right.
> 
> [a] I do not see later in the code, the block is released?
> [b] These are mine limits, do I need to adjust anything in ORL?
> 
> ORTool 18.2.2013
> branch to Modules Init() E70025FE
> mem limit     0
> boot size/sectors used 39296  39
> modules root 00008420
> modules limit 00040000
> Mem limit 0009FEF0
> Stack org 00060000
> 
> Many thanks
> 
> -- 
> Tomas Kral <thomas.kral at email.cz>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20200518/b886c67b/attachment.html>


More information about the Oberon mailing list