there are primitive operations for add, subtract, multiply. for division where the divisor is known at coding time, you can find a suitable X and Y where you can multiply by X and shift-right Y bits for division to needed accuracy. for division where the divisor is only known in realtime, you need a longer routine for division. there are some good example routines in "ARM System Developer's Guide" by Sloss et al.