title: Why does the 6502 microcontroller not have a arithmetic right shift?
body: <p>I'm trying to understand the instruction sets of old microcontrollers, especially the 6502.</p>
  
  <p>The documentation of the instruction set that can be found <a href="https://www.masswerk.at/6502/6502_instruction_set.html" rel="nofollow noreferrer">here</a> lists two shift instructions (beside the rotate instructions):</p>
  
  <p><strong>ASL</strong> - arithmetic shift left</p>
  
  <p><strong>LSR</strong> - logical shift right</p>
  
  <p>Why are there no <em>arithmetic shift right</em> and <em>logical shift left</em> instructions?</p>
  
  <p>I know that one can simply add a number to itself to logically shift it to the left, but a dedicated instruction would be much more convenient and also faster, even if it does just that. But a missing <em>arithmetic shift right</em> instruction does not make sense to me.</p>