Last modified on 30 April 2011, at 15:36

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 AlgorithmEdit

The SPARC Implementation of the Multiplication AlgorithmEdit

Overview of the Division AlgorithmEdit

The SPARC Implementation of the Division AlgorithmEdit


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