[RC5] keyrate stabilizing?

Stephan Wonczak sws at sherlock.pc.uni-koeln.de
Mon Oct 22 17:00:27 EDT 2001

On Mon, 22 Oct 2001, Bruce Wilson fell across the keyboard, resulting in:

> A shift is useful for multiplying and dividing by powers of two, a
> rotate is not.
> 8-bit examples:
> 10010111	Sample
> 00101110	left shift (carry would be set)
> 00101111	left rotate (carry unaffected)
> 01001011	right shift
> 11001011	right rotate

  Starting to pick some nits: I still remember programming in
Z80-Assembler ... am I that old already? There were a whole bunch of
shifting and rotating instructions, some affecting the carry-bit, some
not. If I remember correctly, there were the following variations:

  Shifts  bit7 bit0 carry

   left    b6   0     b7   usual shift, multiply by 2 
   left    b6   C     b7   shift, add carry (use to emulate rotate)
  right     0   b1    b0   usual shift, divide by 2
  right    b7   b1    b0   'arithmetic' shift, keeping the sign
  right     C   b1    b0   shift, add carry (use to emulate rotate)


   left    b6   b7     X   8-bit rotate, carry unaffected
   left    b6   b7     b7  8-bit rotate, carry affected
   left    b6   C      b7  9-bit rotate
  right    b0   b1     X   8-bit rotate, carry unaffected
  right    b0   b1     b0  8-bit rotate, carry affected
  right     C   b1     b0  9-bit rotate
  I have used the rotate-instruction in some of my programs (nothing to
do with encryption!) to save calculation time, but it is certainly
possible to get by without it. 

		C U, Stephan
   "I haven't lost my mind; I know exactly where I left it."
   "The meaning of my life is to make me crazy"

To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list