;*****************************************************************
;The following routine shifts a longint in r4:r5:r6:r7 right
;  by a number of bits given in A.
;A is first moved to R2, then it loops R2 times 
;  and in each loop makes one shift
;Destroys R2
;*****************************************************************
ShiftLong:
   mov   r2,a
Loop:
   mov   a,r4
   rrc   a
   mov   r4,a
   mov   a,r5
   rrc   a
   mov   r5,a
   mov   a,r6
   rrc   a
   mov   r6,a
   mov   a,r7
   rrc   a
   mov   r7,a
   djnz  r2,Loop
   ret