9
Arquitetura e Organização de Computadores Prof. Thales de Társis Cezare Laboratório “Computador Neander” Nome:_Kleber Coutinho de Souza____________RA:_111427________Data:31/03/2011 Nome:_Fabio____________________________________RA:_______________ Responda as questões abaixo: 1.) Sabendo que uma das características do Neander é: largura de dados e endereço de oito bits (um Byte) e sabendo que a unidade endereçável do Neander é de um Byte), quantas unidades endereçáveis o Computador Neander pode endereçar? Demonstre o cálculo utilizado para chegar ao resultado. Resp.:Código do Operador = 4bits, operador1=4bits, RDM=8bits Total de endereços possíveis 2^8=256 para instruções e 128 para operador. 2.) Transforme os números abaixo representados na base dez, para binários de cinco bits (incluindo o bit de sinal), representados na forma de “complemento a 2 “. a-) 6 (10) b-) -7 (10) c-) -4 (10) d-) 3 (10) Resp.: 0110 0111 0100 0011 1001 1000 1011 1100 +1 +1 +1 +1 1010 1001 1100 1101 3.) Qual é o modo de endereçamento usado pelo Neander? Explique. Resp.: O NEANDER só possui um modo de endereçamento: o modo direto (muitas vezes 1

Laboratório Neander

Embed Size (px)

Citation preview

Page 1: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

Laboratório “Computador Neander”

Nome:_Kleber Coutinho de Souza____________RA:_111427________Data:31/03/2011

Nome:_Fabio____________________________________RA:_______________

Responda as questões abaixo:

1.) Sabendo que uma das características do Neander é: largura de dados e endereço de oito bits (um Byte) e sabendo que a unidade endereçável do Neander é de um Byte), quantas unidades endereçáveis o Computador Neander pode endereçar? Demonstre o cálculo utilizado para chegar ao resultado.Resp.:Código do Operador = 4bits, operador1=4bits, RDM=8bitsTotal de endereços possíveis 2^8=256 para instruções e 128 para operador.

2.) Transforme os números abaixo representados na base dez, para binários de cinco bits (incluindo o bit de sinal), representados na forma de “complemento a 2 “.

a-) 6 (10) b-) -7 (10) c-) -4 (10) d-) 3 (10)

Resp.:0110 0111 0100 00111001 1000 1011 1100 +1 +1 +1 +11010 1001 1100 1101

3.) Qual é o modo de endereçamento usado pelo Neander? Explique.

Resp.: O NEANDER só possui um modo de endereçamento: o modo direto (muitas vezestambém chamado de absoluto). No modo de endereçamento direto, a palavraque segue o código da instrução contém, nas instruções de manipulação de dados, oendereço de memória do operando. Nas instruções de desvio, esse endereçocorresponde à posição de memória onde está a próxima instrução a ser executada.

4.) Qual instrução do Neander é usada para realizar “complemento a 1” de um número?

Resp.: NOT

5.) Quantas unidades endereçáveis são utilizadas nas instruções do Neander?

1

Page 2: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

Resp.: 2 unidades – Código de Operação e Operador.

Utilizando o Computador NeanderÁrea de Dados 12810 (80H) até 25510 (FFH)

Área de Programa 010 (0H) até 12710 (7FH)

Exemplo: Faça um programa que realize a soma de três posições consecutivas da memória e armazene o resultado numa quarta posição.1º Inicialmente, vamos definir a área de dados e a área de programa da forma mostrada acima.2º área de programa Início do Programa posição 010 (0H) área de dados

primeira parcela posição 12810 (80H)segunda parcela posição 12910 (81H)terceira parcela posição 13010 (82H)resultado posição 13110 (83H)

3º Abra o Neander e realize os seguintes passos:- Clique na posição zero da memória de programa, digite o código da instrução “LDA” (3210) e tecle

enter.- O Neander selecionará a segunda posição de memória de programa, digite o endereço do

operando (primeira parcela a ser carregada no acumulador AC), 12810 e tecle enter.- Digite o código da instrução “ADD” (4810) para somar a primeira parcela à segunda e tecle enter.- Digite o endereço do operando (segunda parcela a ser somada com a primeira), 12910 e tecle enter.- Digite o código da instrução “ADD” (4810) para somar a terceira parcela as outras duas já somadas e

tecle enter.- Digite o endereço do operando (terceira parcela a ser somada com o conteúdo do acumulador AC),

13010 e tecle enter.- Digite o código da instrução “STA” (1610) para copiar o conteúdo de AC (resultado), para a posição

de memória 13110 e tecle enter.- Digite o endereço do operando (posição de memória onde será copiado o conteúdo), 13110 e tecle

enter.- Digite o código da instrução “Halt” (24010) para encerrar o programa.- Clique na posição de memória de dados 12810, digite o valor da primeira parcela e tecle enter.- Digite o valor da segunda parcela e tecle enter.- Digite o Valor da terceira parcela e tecle enter.- Para executar o programa passo a passo clique no botão “passo-a-passo" (ou F8), o Neander

executará uma instrução por vez. Para rodar o programa clique no botão “Rodar” (ou F9), o Neander executa todas as instruções. Note as alterações realizadas pelo Neander no acumulador (AC) e no contador de programa (PC).

- Para salvar o programa (ou a memória em um arquivo .mem) utilize o comando Arquivo “salvar...”

- Para salvar a memória em um arquivo texto utilize o comando arquivo “salvar texto”.

2

Page 3: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

Exercícios:

1.) Limpar o acumulador: faça dois programas diferentes que zerem o acumulador.

Simbólico Comentários9 LDA 131 Carrega o valor que está no espaço 13110 13111 NOT Nega ele12 ADD 127 Soma 113 12714 STA 132 Salvar na posição 13215 13216 LDA 132 Carregar o valor no espaço 13217 13218 ADD 131 Soma com o valor no espaço 13119 13120 HLT Finalizar o programa

Simbólico Comentários0 LDA 128 Carrega o valor que está no espaço 1281 1282 STA 129 Armazena em 1293 1294 LDA 129 Carrega o valor que está no espaço 1295 1296 NOT Nega ele7 ADD 130 Soma 18 1309 STA 131 Armazena em 13110 13111 LDA 131 Carrega o valor que está no espaço 13112 13113 ADD 129 Soma com o valor no espaço 12914 12915 HLT Finalizar o programa

3

Page 4: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

2.) Somar duas variáveis de 8 bits: faça um programa para somar duas variáveis. As variáveis e o resultado estão dispostos segundo o mapa de memória abaixo:

Posição 128: primeira variávelPosição 129: segunda variávelPosição 130: resultado

Simbólico Comentários0 LDA128 Carrega o valor da variável contida no

espaço de memória 128 no ACC1 1282 ADD129 Soma o valor carregado no ACC com o

valor da variável 1293 1294 STA130 Armazena no espaço de memoria 1305 1306 HLT Finaliza o programa

3.) Subtrair duas variáveis: faça um programa para subtrair duas variáveis de 8 bits. O resultado deve aparecer na posição de memória consecutiva às ocupadas pelas variáveis.

Posição 128: minuendoPosição 129: subtraendoPosição 130: resultado

Simbólico Comentários0 LDA129 Carrega o valor no espaço 1291 1292 NOT Nega este valor3 ADD131 Soma 14 1315 ADD128 Soma com o valor no espaço 1286 1287 STA130 Grava o resultado no espaço 1308 1309 HLT Finaliza o programa

4.) Contador decrescente: faça um programa que decremente 1 de uma variável até que está contenha valor zero.

4

Page 5: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

Posição 128: variável a ser decrementada

Simbólico Comentários0 LDA 129 Carregue valor da posição 1291 1292 NOT Negue o valor da posição 1293 ADD 130 Some com o valor da posição 1304 1305 STA 131 Armazene o resultado na posição 1316 1317 ADD 128 Some com o valor da posição 1288 128 9 STA 132 Armazene o resultado na posição 13210 13211 ADD 131 Some com o valor da posição 13112 13113 JZ 17 Pule para o end.17 se resultado for =014 1715 JMP 11 Pule para o endereço 1116 1117 HLT Finalize o programa

5.) Determinação de Overflow na soma: faça um programa que determine a ocorrência de overflow na soma de duas variáveis. As variáveis são de 8 bits e estão armazenadas em posições consecutivas de memória (128 e 129). O resultado da soma também em 8 bits deve aparecer na primeira posição livre (130) e o overflow deve ser indicado da seguinte forma:

Posição 131: conteúdo = 010 (0H) quando não ocorreu overflow conteúdo = 25510 (FFH) quando ocorreu overflow

Simbólico Comentários

5

Page 6: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

6-) Fazer um programa para calcular o somatório de 1 até N.

Simbólico Comentários

6

Page 7: Laboratório Neander

Arquitetura e Organização de ComputadoresProf. Thales de Társis Cezare

7