<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="-1">Opps, yes you are right, even after writing the
        VHDL code<br>
      </font></p>
    <div style="color: #d4d4d4;background-color: #1e1e1e;font-family: 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback';font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #d4d4d4;">regMux </span><span style="color: #d4d4d4;"><=</span><span style="color: #d4d4d4;"> dataInput </span><span style="color: #569cd6;">WHEN</span><span style="color: #d4d4d4;"> opLDR </span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> </span><span style="color: #b5cea8;">'1'</span><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">ELSE</span><span style="color: #d4d4d4;">  </span></div><div><span style="color: #d4d4d4;">          </span><span style="color: #dcdcaa;">RESIZE</span><span style="color: #d4d4d4;">(</span><span style="color: #4ec9b0;">SIGNED</span><span style="color: #d4d4d4;">(</span><span style="color: #b5cea8;">'0'</span><span style="color: #d4d4d4;"> </span><span style="color: #d4d4d4;">&</span><span style="color: #d4d4d4;"> pcNext </span><span style="color: #d4d4d4;">&</span><span style="color: #d4d4d4;"> </span><span style="color: #b5cea8;">"00"</span><span style="color: #d4d4d4;">), regMux</span><span style="color: #569cd6;">'LENGTH</span><span style="color: #d4d4d4;">) </span><span style="color: #569cd6;">WHEN</span><span style="color: #d4d4d4;"> ((opBR </span><span style="color: #569cd6;">AND</span><span style="color: #d4d4d4;"> v))</span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> </span><span style="color: #b5cea8;">'1'</span><span style="color: #d4d4d4;">  </span><span style="color: #569cd6;">ELSE</span><span style="color: #d4d4d4;"> </span></div><div><span style="color: #d4d4d4;">          aluRes(</span><span style="color: #b5cea8;">31</span><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">DOWNTO</span><span style="color: #d4d4d4;"> </span><span style="color: #b5cea8;">0</span><span style="color: #d4d4d4;">); 
</span></div></div>
    <p><font size="-1">I did not think on that!<br>
      </font></p>
    <p><font size="-1">Thank you,</font></p>
    <font size="-1">Walter<br>
      <br>
    </font>
    <div class="moz-cite-prefix">El 20/09/18 a las 10:48, Chris Burrows
      escribió:<br>
    </div>
    <blockquote type="cite"
      cite="mid:000201d450e8$9e85ca70$db915f50$@cfbsoftware.com">
      <blockquote type="cite">
        <pre wrap="">-----Original Message-----
From: Oberon [<a class="moz-txt-link-freetext" href="mailto:oberon-bounces@lists.inf.ethz.ch">mailto:oberon-bounces@lists.inf.ethz.ch</a>] On Behalf Of
Walter Gallegos
Sent: Thursday, 20 September 2018 10:29 PM
To: ETH Oberon and related systems; Walter Gallegos
Subject: [Oberon] Unexplained operation code

I'm finding the source of an unexplained operation code generated for
debug my VHDL sources, cleaning unrelated code I wrote :

MODULE*  TestA;
     IMPORT SYSTEM;

     VAR
         a: INTEGER;

       PROCEDURE* IntServ;
       BEGIN
       END IntServ;

BEGIN
     a := SYSTEM.ADR(IntServ);
END TestA.


a := SYSTEM.ADR(IntServ); is generated as :

19    F7000000    BL    0
20    40F90030    SUB    R0    LNK    48
21    A0D00000    STR    R0    SB    0

I can't explain the line 19.

</pre>
      </blockquote>
      <pre wrap="">
It is the (sneaky) RISC5 way of obtaining the value of PC. BL 0 stores the
value of PC+1 in the LNK register (R15) and then just branches to the next
instruction.

Regards,
Chris

Chris Burrows
CFB Software
<a class="moz-txt-link-freetext" href="http://www.astrobe.com/RISC5">http://www.astrobe.com/RISC5</a>


--
<a class="moz-txt-link-abbreviated" href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a class="moz-txt-link-freetext" href="https://lists.inf.ethz.ch/mailman/listinfo/oberon">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>

</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Walter Daniel Gallegos 
Programmable Logic
Consultorí­a, Diseńo, Entrenamiento.
<a class="moz-txt-link-abbreviated" href="mailto:walter@waltergallegos.com">walter@waltergallegos.com</a> | <a class="moz-txt-link-abbreviated" href="http://www.waltergallegos.com">www.waltergallegos.com</a>  
Tel +598 26 23 44 60 | Cel +598 99 18 58 88
Montevideo, Uruguay

El presente correo y cualquier posible archivo adjunto está dirigido únicamente
al destinatario del mensaje y contiene información que puede ser confidencial. 
Si Ud. no es el destinatario correcto por favor notifique al remitente 
respondiendo anexando este mensaje y elimine inmediatamente el e-mail y los 
posibles archivos adjuntos al mismo de su sistema. Está prohibida cualquier 
utilización, difusión o copia de este e-mail por cualquier persona o entidad 
que no sean las especí­ficas destinatarias del mensaje.

This e-mail and any attachment is confidential and is intended solely for the 
addressee(s). If you are not intended recipient please inform the sender 
immediately, answering this e-mail and delete it as well as the attached files.
Any use, circulation or copy of this e-mail by any person or entity that is not
the specific addressee(s) is prohibited.</pre>
  </body>
</html>