Faculdade de Computação – FACOM - UFU Organização de Computadores 1 – OC1 Prof. Ronaldo Castro de Oliveira Estudo Dirigido – Data de entrega: 30/08/2010 Segue a seguinte estrutura do IAS – Máquina de Von Neumann: Conjunto de Registradores (armazenados na CPU) Memory Buffer Register - MBR Memory Address Register - MAR Instruction Register - IR Instruction Buffer Register - IBR Program Counter - PC Accumulator - AC Multiplier Quotient - MQ Outras Instruções que devem ser definidas. Tipo de Opcode Representação Simbólica Instrução IN M(X) Entrada e Saída de Dados Controle de programa OUT M(X) BEGIN END PAUSE DEC M(X) Aritmética INC M(X) Descrição Efetua a leitura de um valor de 40 bits (numérico inteiro) do dispositivo de cartão perfurado, armazenando o valor na posição de memória M(X) Apresenta o valor de 40 bits presente na memória M(X) no painel luminoso para ser lido e interpretado Inicio do programa Fim do programa Paralisa a execução do programa para que se possa fazer a leitura do painel luminoso. O programa pode ser reiniciado através de botão pressionado no painel luminoso. Decrementa o conteúdo da posição de memória especificada Incrementa o conteúdo da posição de memória especificada PROBLEMA A SER RESOLVIDO: Fazer um programa em assembler do IAS, que leia as notas de N alunos que serão inseridas por um leitor de cartões perfurados. O primeiro valor lido (1 cartão) contém a quantidade de notas que serão trabalhadas. O programa deve calcular e apresentar como resultados a soma das notas, a maior nota da turma e a média de todas as notas. OBS: considere que todas as posições de memória, fora as células reservadas para o programa, estão inicializadas com zero. INSTRUÇÕES DE PROGRAMA Endereço de Instrução de programa Memória (Dec) (20 bits por instrução) 0000 BEGIN Comentários Inicio do programa 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 ...... DADOS DO PROGRAMA: Endereço de Valor da memória Memória (Dec) (40 bits) 0500 0501 0502 0503 0504 0505 ... Comentários Variável CONT – contador que controla a repetição do laço para a leitura das notas Variável QUANT – contém a quantidade de valores de notas que serão trabalhados Variável MAIOR – posição que irá armazenar o valor da maior nota. Variável NOTA – posição que irá armazenar as notas lidas pelos cartões perfurados Variável SOMA – acumula os valores lidos Variável MEDIA – posição que ira armazenar a resposta do calculo de média