# 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 |