Power FunctionΒΆ
Computes x^n using repeated multiplication.
1; Power: compute 3^4
2; Output: R16 = 81
3
4start:
5 ldi r16, 3 ; base = 3
6 ldi r17, 4 ; exp = 4
7
8 ; save base
9 mov r18, r16
10
11 ; if exp == 0, result = 1
12 cpi r17, 0
13 breq exp_zero
14
15 ; if exp == 1, done
16 cpi r17, 1
17 breq done
18
19 ; counter = 1
20 ldi r19, 1
21
22loop:
23 ; result *= base
24 mul r16, r18
25
26 ; counter++
27 inc r19
28
29 ; continue if counter < exp
30 cp r19, r17
31 brlt loop
32
33 jmp done
34
35exp_zero:
36 ldi r16, 1
37
38done:
39 jmp done
Demonstrates exponentiation through iteration.