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


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 modulus, use .rem
nop! Delay slot
mov%o0%l5! Copy result to %l5