Os seguintes exercícios devem ser codificados em linguagem de montagem para o computador hipotético Ramses. Número de componentes e data de entrega estão definidos em outras áreas do site.
Exercício 1. Faça um programa que multiplique dois números inteiros positivos de 8 bits usando o método de somas-e-deslocamentos e forneça o resultado em 16 bits. Observe o seguinte mapa de memória para as variáveis de entrada.
Exercício 2. Faça um programa que calcule an, onde a e n são números inteiros positivos de 8 bits e o resultado está expresso em 16 bits. Assuma a existência de uma subrotina que opera de acordo com o especificado no exercício 1. Observe o seguinte mapa de memória para as variáveis de entrada.
Exercício 3. Faça a subrotina “troca”, que lê os endereços de dois inteiros de 8 bits (posições 128 e 129), operando1 e operando2, e troca-os de posição. Use a posição 130 como variável auxiliar.
Exercício 4. Faça um programa que implemente o algoritmo bubble sort para ordenar valores armazenados em uma área contínua da memória. Assuma que a posição128 contém o endereço do início do conjunto de valores e que a posição 129 contém a quantidade de valores. Faça uso da subrotina “troca”, desenvolvida no exercício anterior.
|