SPARC Assembly/Multiplication and Division

      Looking through the lists of instructions, it becomes clear that multiplication and division operations are not provided in SPARC: at least not in a form that most programmers are familiar with. This page is going to discuss the algorithms used to perform multiplication and division operations in SPARC

      Overview of the Multiplication Algorithm

      The SPARC Implementation of the Multiplication Algorithm

      Overview of the Division Algorithm

      The SPARC Implementation of the Division Algorithm

      Example


      To multiply %l3 and %l4 and store in %l5:

      mov %l3 %o0 ! First operand
      mov %l4 %o1 ! Second operand
      call .mul ! Result stored in %o0
      ! To divide %l3 by %l4, use .div
      ! To find the remainder, use .rem
      nop ! Delay slot
      mov %o0 %l5 ! Copy result to %l5
      Last modified on 30 April 2011, at 15:36