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
Example
edit
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 |