Samsung YP-P10 User Manual Page 188

  • Download
  • Add to my manuals
  • Print
  • Page
    / 596
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 187
THUMB INSTRUCTION SET S3C2440A RISC MICROPROCESSOR
4-40
INSTRUCTION SET EXAMPLES
The following examples show ways in which the THUMB instructions may be used to generate small and efficient
code. Each example also shows the ARM equivalent so these may be compared.
MULTIPLICATION BY A CONSTANT USING SHIFTS AND ADDS
The following instructions are the code to multiply by various constants using 1, 2 or 3 Thumb instructions alongside
the ARM equivalents. For other constants it is generally better to use the built-in MUL instruction rather than using a
sequence of 4 or more instructions.
Thumb ARM
1. Multiplication by 2^n (1,2,4,8,...)
LSL Ra, Rb, LSL #n ; MOV Ra, Rb, LSL #n
2. Multiplication by 2^n+1 (3,5,9,17,...)
LSL Rt, Rb, #n ; ADD Ra, Rb, Rb, LSL #n
ADD Ra, Rt, Rb
3. Multiplication by 2^n-1 (3,7,15,...)
LSL Rt, Rb, #n ; RSB Ra, Rb, Rb, LSL #n
SUB Ra, Rt, Rb
4. Multiplication by -2^n (-2, -4, -8, ...)
LSL Ra, Rb, #n ; MOV Ra, Rb, LSL #n
MVN Ra, Ra ; RSB Ra, Ra, #0
5. Multiplication by -2^n-1 (-3, -7, -15, ...)
LSL Rt, Rb, #n ; SUB Ra, Rb, Rb, LSL #n
SUB Ra, Rb, Rt
Multiplication by any C = {2^n+1, 2^n-1, -2^n or -2^n-1} * 2^n
Effectively this is any of the multiplications in 2 to 5 followed by a final shift. This allows the following additional
constants to be multiplied. 6, 10, 12, 14, 18, 20, 24, 28, 30, 34, 36, 40, 48, 56, 60, 62 .....
(2..5) ; (2..5)
LSL Ra, Ra, #n ; MOV Ra, Ra, LSL #n
Page view 187
1 2 ... 183 184 185 186 187 188 189 190 191 192 193 ... 595 596

Comments to this Manuals

No comments