<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE-CH link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Please have a look at how the code accesses your global variables x, y, z?</p><p class=MsoNormal>Jörg</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gesendet von <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> für Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>Von: </b><a href="mailto:thomas.kral@email.cz">Tomas Kral</a><br><b>Gesendet: </b>Dienstag, 12. Mai 2020 10:06<br><b>An: </b><a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a><br><b>Betreff: </b>[Oberon] Standalone BootLoader format</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Just inspecting standalone Oberon format for </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MODULE* Counter;</p><p class=MsoNormal>  VAR x, y, z: INTEGER;</p><p class=MsoNormal>BEGIN LED(1); z := 0;</p><p class=MsoNormal>  REPEAT LED(z); x := 1000;</p><p class=MsoNormal>     REPEAT y := 1000;</p><p class=MsoNormal>       REPEAT y := y-1 UNTIL y = 0;</p><p class=MsoNormal>       x := x-1</p><p class=MsoNormal>     UNTIL x = 0;</p><p class=MsoNormal>     z := z+1</p><p class=MsoNormal>   UNTIL FALSE</p><p class=MsoNormal>END Counter.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ORP.Compile @</p><p class=MsoNormal>ORTool.DecObj (* produces this disassembly *)</p><p class=MsoNormal>   0     E7000007       B       7</p><p class=MsoNormal>   1     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   2     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   3     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   4     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   5     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   6     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   7     00000000       MOV  R0  R0  R0</p><p class=MsoNormal>   8     4D000000       MOV SB  R0      0</p><p class=MsoNormal>...</p><p class=MsoNormal>  36     40000000       MOV  R0  R0      0</p><p class=MsoNormal>  37     C7000000       B  R0</p><p class=MsoNormal>entries: 32</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What is the purpose of 7 words (7*4=28 bytes), that is branched over?</p><p class=MsoNormal>Why 32 entries?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>- </p><p class=MsoNormal>Tomas Kral <thomas.kral@email.cz></p><p class=MsoNormal>--</p><p class=MsoNormal>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems</p><p class=MsoNormal>https://lists.inf.ethz.ch/mailman/listinfo/oberon</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>