Open main menu

Wikibooks β

SPARC Assembly/Multiplication and Division

< SPARC Assembly

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