MC404    -    2º Semestre 2010

Profs. Mario L. Côrtes, Paulo Centoducatte, Ricardo Pannain 

Lab07 (facultativo) Trabalhando com rotinas recursivas

A) Escreva um programa em linguagem de montagem do AVR para gerar a sequencia de Fibonacci com precisão de 16 bits, armazenando-a na memória RAM no formato little endian, isto é, o byte menos significativo precede o byte mais significativo. O seu programa deve usar recursão  que deve ter como condição de parada  o overflow da soma de 16 bits.  Após retornar da recursão  o seu programa deve entrar num laço infinito. Verifique a correção do seu programa comparando visualmente o conteúdo do vetor na RAM com o da tabela a seguir (em hexadecimal, porém no formato big endian, i. é, high,low)
0	00
1 01
2 01
3 02
4 03
5 05
6 08
7 0d
8 15
9 22
10 37
11 59
12 90
13 e9
14 0179
15 0262
16 03db
17 063d
18 0a18
19 1055
20 1a6d
21 2ac2
22 452f
23 6ff1
24 b520
25 012511
26 01da31
27 02ff42
28 04d973
29 07d8b5
30 0cb228

A) Escreva um programa em linguagem de montagem do AVR, que inclua uma rotina recursiva que calcula o fatorial de um valor N passado como parâmetro, o fatorial deve ser representado como um valor de 24 bits que armazena na memória os valores de N e seu respectivo fatorial, para todo N cujo fatorial possa ser representado em 24 bits.