<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>