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.