<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>Tomas</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sorry, forget my comment. My comment is only true, if your standalone module happens to run at address 0.</p><p class=MsoNormal>Standalone modules normally reside in ROM.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I don’t why ORP.Module sets dc := 8 to leave space for 7 entries.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>br</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:joerg.straube@iaeth.ch">Jörg Straube</a><br><b>Gesendet: </b>Dienstag, 12. Mai 2020 11:04<br><b>An: </b><a href="mailto:oberon@lists.inf.ethz.ch">ETH Oberon and related systems</a><br><b>Betreff: </b>Re: [Oberon] Standalone BootLoader format</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please have a look at how the code accesses your global variables x, y, z?<o:p></o:p></p><p class=MsoNormal>Jörg<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><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<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Just inspecting standalone Oberon format for <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>MODULE* Counter;<o:p></o:p></p><p class=MsoNormal>  VAR x, y, z: INTEGER;<o:p></o:p></p><p class=MsoNormal>BEGIN LED(1); z := 0;<o:p></o:p></p><p class=MsoNormal>  REPEAT LED(z); x := 1000;<o:p></o:p></p><p class=MsoNormal>     REPEAT y := 1000;<o:p></o:p></p><p class=MsoNormal>       REPEAT y := y-1 UNTIL y = 0;<o:p></o:p></p><p class=MsoNormal>       x := x-1<o:p></o:p></p><p class=MsoNormal>     UNTIL x = 0;<o:p></o:p></p><p class=MsoNormal>     z := z+1<o:p></o:p></p><p class=MsoNormal>   UNTIL FALSE<o:p></o:p></p><p class=MsoNormal>END Counter.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ORP.Compile @<o:p></o:p></p><p class=MsoNormal>ORTool.DecObj (* produces this disassembly *)<o:p></o:p></p><p class=MsoNormal>   0     E7000007       B       7<o:p></o:p></p><p class=MsoNormal>   1     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   2     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   3     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   4     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   5     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   6     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   7     00000000       MOV  R0  R0  R0<o:p></o:p></p><p class=MsoNormal>   8     4D000000       MOV SB  R0      0<o:p></o:p></p><p class=MsoNormal>...<o:p></o:p></p><p class=MsoNormal>  36     40000000       MOV  R0  R0      0<o:p></o:p></p><p class=MsoNormal>  37     C7000000       B  R0<o:p></o:p></p><p class=MsoNormal>entries: 32<o:p></o:p></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?<o:p></o:p></p><p class=MsoNormal>Why 32 entries?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>- <o:p></o:p></p><p class=MsoNormal>Tomas Kral <thomas.kral@email.cz><o:p></o:p></p><p class=MsoNormal>--<o:p></o:p></p><p class=MsoNormal>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems<o:p></o:p></p><p class=MsoNormal>https://lists.inf.ethz.ch/mailman/listinfo/oberon<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>