Difference between revisions of "ARM: 64 bit operations"

From ScienceZero
Jump to: navigation, search
(New page: Logical shift left by Rn ;R0 - least significant word ;R1 - most significant word ;R2 - shift ;Uses R0-R3 ;7 cycles constant mov r1,r1,lsl r...)
 
Line 1: Line 1:
Logical shift left by Rn
+
==Logical shift left by Rn==
 
         ;R0 - least significant word
 
         ;R0 - least significant word
 
         ;R1 - most significant word
 
         ;R1 - most significant word
Line 11: Line 11:
  
  
Logical shift left by #n
+
==Logical shift left by #n==
 
         ;R0 - least significant word
 
         ;R0 - least significant word
 
         ;R1 - most significant word
 
         ;R1 - most significant word
Line 21: Line 21:
  
  
Logical shift left by 1
+
==Logical shift left by 1==
 
         ;R0 - least significant word
 
         ;R0 - least significant word
 
         ;R1 - most significant word
 
         ;R1 - most significant word

Revision as of 19:49, 12 October 2007

Logical shift left by Rn

       ;R0 - least significant word
       ;R1 - most significant word
       ;R2 - shift
       ;Uses R0-R3
       ;7 cycles constant
       mov	r1,r1,lsl r2
       rsb	r3,r2,#32
       orr	r1,1,r0,lsr r3
       mov	r0,r0,lsl r2


Logical shift left by #n

       ;R0 - least significant word
       ;R1 - most significant word
       ;Uses R0-R1
       ;3 cycles constant
       mov	r1,r1,lsl #n
       orr	r1,r1,r0,lsr #32-n
       mov	r0,r0,lsl #n


Logical shift left by 1

       ;R0 - least significant word
       ;R1 - most significant word
       ;Uses R0-R1
       ;2 cycles constant
       adds	r0,r0,r0
       adc	r1,r1,r1


Multiplication