FactorialΒΆ

Computes factorial of a number using iterative multiplication.

 1; Factorial: compute 5!
 2; Output: R16 = 120
 3
 4start:
 5    ldi r17, 5        ; n = 5
 6    ldi r16, 1        ; result = 1
 7    
 8    ; if n <= 1, done
 9    cpi r17, 2
10    brlt done
11
12loop:
13    ; result *= n
14    mul r16, r17
15    
16    ; n--
17    dec r17
18    
19    ; continue if n > 1
20    cpi r17, 2
21    brge loop
22
23done:
24    jmp done

Calculates 5! = 120 using repeated multiplication and demonstrates loop control.