Atividade 6 -    Trabalhando com vetores no PIC

Escreva um programa para calcular o produto escalar de dois vetores de inteiros de 8 bits sem sinal. Cada vetor é terminado pela constante ffh, que não faz parte do vetor. Utilize a rotina de multiplicação mul8x8 (procure entender o funcionamento dessa rotina, que é bastante ilustrativa, pois o PIC não possui instruções de multiplicação!). O produto escalar deve ser calculado com precisão de 16 bits, para minimizar a chance de ocorrencia de overflow. Para facilitar o teste, inicialize os vetores com as constantes 1, 2, 3, 4, ffh, a partir das posições de memória 30h e 40h, respectivamente.

Observe que o Montador do Mplab não inicializa variáveis: não faria sentido, pois normalmente não há um sistema operacional com um carregador para sistemas embedded baseados no PIC! V.deverá inicializar o vetor Fonte via instruções no seu programa ou através do Mplab, abrindo a janela Window -> modify... e preenchendo os campos address, data/opcode, autoincrement.

Sugestão: a fim de evitar que a multiplicação e a soma de 16 bits utilizem posições fixas de memória, escreva macros para cada uma dessas operações, tornando-as de uso geral.
Use o simulador do Mplab para mostrar a correção do seu programa no laboratório.

Apresente uma impressão do programa montado (.lst)  no formato landscape para caber na página, junto com uma demonstração no laboratório.