title: SAL/SAR vs SHR/SAR in assembly 8086
body: <p>I am learning assembly language (specific to x86). I have understood that the 
  <code>SAL</code> and  <code>SHL</code> works in similar way (clearing the lsb and carrying the msb to CF) from here <a href="https://stackoverflow.com/questions/8373415/difference-between-shl-and-sal-in-80x86">Difference between SHL and SAL in 80x86</a>.</p>
  
  <p>Considering that <code>SHR</code> and <code>SAR</code> doesn't operate in similar way (the latter keeping the msb unchanged).</p>
  
  <p>I would like to have a clear concept about <strong>why</strong> the functionality of <em>Shift Arithmetic Right</em> <code>SAR</code> is defined different from <em>Shift Right</em> <code>SHR</code> but at the same time the <code>SHL</code>  and  <code>SAL</code> are kept with similar  functionality  ?  </p>