<div dir="ltr">Have found answer here <a href="http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf">http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf</a>:<div><br><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Register instructions contain two modifier bits u and v. The instruction MOV with u set to 1 shifts the <br>immediate value im by 16 bits to the left. Instructions ADD and SUB with the modifier bit u set to 1 add <br>(subtract) the carry bit C, and the MUL instruction with u set to 1 considers the operands as unsigned <br>
numbers, yielding a 64-bit unsigned product. </blockquote></div><div><br></div></div><div>Sorry for spam.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Dec 22, 2013 at 7:10 PM, Alexey Veselovsky <span dir="ltr">&lt;<a href="mailto:alexey.veselovsky@gmail.com" target="_blank">alexey.veselovsky@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">And another question: what u-flag does for register instructions? (there is no information about it in latest Compiler Conctruction and Project Oberon book)<div>
<br></div><div>For example:</div><div><br></div>
<div><pre style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px"><div style="padding-left:10px;background-color:rgb(255,255,204)">

  PROCEDURE Put1a(op, a, b, im: LONGINT);</div><div style="padding-left:10px">  BEGIN (*same as Pu1, but with range test  -10000H &lt;= im &lt; 10000H*)</div><div style="padding-left:10px">
    IF (im &gt;= -10000H) &amp; (im &lt;= 0FFFFH) THEN Put1(op, a, b, im)</div><div style="padding-left:10px">    ELSE Put1(Mov+U, RH, 0, im DIV 10000H);</div><div style="padding-left:10px">
      IF im MOD 10000H # 0 THEN Put1(Ior, RH, RH, im MOD 10000H) END ;</div><div style="padding-left:10px">      Put0(op, a, b, RH)</div><div style="padding-left:10px">    END</div><div style="padding-left:10px">
  END Put1a;</div><div style="padding-left:10px"><br></div><div style="padding-left:10px">Put1(Mov+U, RH, 0, im DIV 10000H); -- why we set U-flag here?<br></div><div style="padding-left:10px">
<br></div><div style="padding-left:10px"><span style="color:rgb(34,34,34);font-family:arial;font-size:small;line-height:normal;white-space:normal">Is U means something like shift?</span><br></div><div style="padding-left:10px">

<span style="color:rgb(34,34,34);font-family:arial;font-size:small;line-height:normal;white-space:normal"><br></span></div><div style="padding-left:10px"><span style="color:rgb(34,34,34);font-family:arial;font-size:small;line-height:normal;white-space:normal">Thanks, Alexey</span></div>

<div style="padding-left:10px"><span style="color:rgb(34,34,34);font-family:arial;font-size:small;line-height:normal;white-space:normal"><br></span></div></pre></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br>
<div class="gmail_quote">On Sun, Dec 22, 2013 at 5:53 PM, Alexey Veselovsky <span dir="ltr">&lt;<a href="mailto:alexey.veselovsky@gmail.com" target="_blank">alexey.veselovsky@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div class="gmail_extra">Hi.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Anybody knows what the difference between STW/LDW instructions from Compiler Construction (last revision) and STR/LDR from Project Oberon 2013?</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks, Alexey.</div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>